一个 C/C++
轻量级服务器异步网络编程框架, 追求更简洁的实现
+---------------------+
| GenericServer |
+---------------------+
+---------------------+
| GenericDispatcher |
+---------------------+
/ | \
+--------------------+ +-------------------+ +-------------------+
| GenericWorker | | GenericWorker | | GenericWorker |
+--------------------+ +-------------------+ +-------------------+
+-------------------+
| NetworkManager |
+-------------------+
+-------------------+
| Connection |
+-------------------+
+-------------------+
| Socket |
+-------------------+
+-------------------+
| libev |
+-------------------+
- 两种不同的服务框架模型
message-pipe
和command-unix
, 开发者可自由选择 - 支持
TCP
并发服务编程 - 支持
UDP
并发服务编程 - 支持
HTTP
客户端编程 - 支持百度
mcpack
私有协议,HTTP
协议 - 使用
pipe
进行线程间同步 - libev 事件驱动模型
- 强大的异步日志系统
- 完善的配置文件系统
- 支持多种锁, 如读写锁、互斥锁
- 无锁队列
- 更高性能的
jemalloc
内存管理
- v1.0, 2019-01-17, 为满足
zrtc
的需求, 开始优化 store-framework - v1.0, 2019-09-11, 从代码的布局、逻辑以及底层库的服务角度完成第一次精简和优化
- v1.0, 2019-09-18, 增加基础 UDP 服务模型
- v1.0, 2019-09-26, 底层网络层 Socket 抽象完成, 1.0 整体架构调整完成
- v1.0, 2019-10-29, 开始加入
gsdm
模型 - v1.0, 2020-01-10, 支持
worker
线程的 cpu 亲和性绑定
./build.sh
参考 examples/demo
yujitaiyujitai@zuoyebang.com