项目简介
本项目是基于libevent框架构建的多服务器分布式系统,借助单个网关管理和多服务器协同工作,高效处理客户端请求并实现资源管理。系统采用单个MySQL数据库存储数据,具备客户端限流、服务器水平扩展与容灾、客户端消息缓存与超时重发等功能,还实现了负载均衡,采用多进程和多线程分别实现网关和服务端。
项目的主要特性和功能
网关功能
- 客户端限流:控制客户端请求频率,避免服务器过载。
- 服务器水平扩展与容灾:支持服务器动态扩展与故障转移。
- 客户端消息缓存与超时重发:保障消息可靠传输。
- 负载均衡:通过轮询机制分发请求到不同服务器。
服务端功能
- 多线程处理:提升并发处理能力。
- 数据库连接池:优化数据库连接管理,提高系统性能。
- 抢票业务:提供新建抢票活动、查询是否有票、抢票等接口。
内存池管理
- 内存分配与释放:高效管理内存资源,减少内存碎片。
- 内存池状态查询:实时监控内存使用情况。
线程池管理
- 线程任务分配:通过轮询机制平衡线程任务。
- 线程间通信:利用socket pair实现线程间信号传递。
安装使用步骤
环境准备
- 安装libevent库。
- 安装MySQL数据库。
配置文件
编辑配置文件,设置数据库连接参数、服务器端口等。
编译项目
使用CMake或Makefile进行项目编译。
启动服务
运行编译后的可执行文件,启动网关和服务端。
测试与使用
使用客户端工具发送请求,测试系统各项功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】