本文是《多线程服务器分析——Reactor线程模型和性能分析》系列的索引。
1 目录
多线程服务器分析——Reactor线程模型和性能分析(序章)
多线程服务器分析——Reactor线程模型和性能分析(一)
多线程服务器分析——Reactor线程模型和性能分析(二)
多线程服务器分析——Reactor线程模型和性能分析(三)
多线程服务器分析——Reactor线程模型和性能分析(四)
2 代码结构
代码资源:https://download.youkuaiyun.com/download/weixin_43977379/90420226
代码目录结构以及作用简介:
reactor
├── distribute_storage
│ ├── client
│ │ ├── client_interface.cc # 客户端请求代码
│ │ ├── client_interface.h
│ │ ├── client_test.cc # 客户端请求测试代码
│ │ ├── random_content.txt # 测试文件
│ │ └── Readme.md
│ ├── common
│ │ ├── Context.h # 一些全局配置项
│ │ ├── errno.h # 错误码
│ │ ├── request.cc # 用于约定客户端和服务端之间请求的格式
│ │ ├── request.h
│ │ ├── server.cc # 服务器端代码
│ │ ├── server.h
│ │ ├── ThreadPool.cc # 线程池
│ │ ├── ThreadPool.h
│ │ ├── Timer.cc # 定时器
│ │ └── Timer.h
│ ├── data_manager
│ │ ├── DataManager.cc # 数据管理层的服务器代码
│ │ ├── DataManager.h
│ │ ├── datamgr_main.cc # 数据管理层的服务器启动
│ │ └── Readme.md
│ ├── gateway
│ │ ├── Gateway.cc # 网关层的服务器代码
│ │ ├── Gateway.h
│ │ ├── gateway_main.cc # 网关层的服务器启动
│ │ ├── manager_client
│ │ │ ├── mgr_client_interface.cc # 网关层请求数据管理层和元数据管理层的接口代码
│ │ │ └── mgr_client_interface.h
│ │ ├── NetErrno.h # 网络错误码,自定义的,与实际http响应码无关
│ │ └── Readme.md
│ ├── metadata_manager
│ │ ├── MetadataManager.cc # 元数据管理层的服务器代码
│ │ ├── MetadataManager.h
│ │ ├── metadatamgr_main.cc # 元数据管理层的服务器启动
│ │ └── Readme.md
│ ├── reactor
│ │ ├── Event.h
│ │ ├── EventLoop.cc # EventLoop、Event以及EventCallback的实现
│ │ └── EventLoop.h
│ ├── Readme.md
│ └── util
│ ├── util.cc # 一些用到的工具型函数
│ └── util.h
├── master_slave_reactor # 主从reactor客户端和服务端代码
│ ├── client.cc
│ ├── run.sh
│ ├── server_multi_loop.cc
│ └── server_single_loop.cc
├── multi_thread_sync_block # 多线程同步阻塞客户端和服务端代码
│ ├── client.cc
│ ├── run.sh
│ └── server.cc
├── single_thread # 单线程服务器客户端和服务端代码
│ ├── client.cc
│ ├── run.sh
│ └── server.cc
├── single_thread_reactor # 单reactor客户端和服务端代码
│ ├── client.cc
│ ├── run.sh
│ └── server.cc
└── tmp
├── create_file.py # 生成固定大小的随机字符串文件
└── random_content.txt