这是一个基于 protobuf 的 RPC 框架,支持在 Linux 环境下进行服务端的服务注册和客户端的远程调用,提供高效的异步通信能力。
- 异步 I/O:利用 C++20 协程和
epoll实现了基于事件循环的异步 I/O,提升了服务器的性能和响应速度。 - 定时器机制:设计并实现了基于小根堆的定时器,结合智能指针自动管理超时连接,避免无效连接占用。
- 缓冲区优化:实现
Buffer类用于构建读写缓冲区,大幅提升数据处理能力和网络传输效率。 - RPC 协议实现:基于
protobuf进行数据的序列化,并设计了简易的自定义协议,实现 RPC 服务通信。
- 日志模块:目前大部分日志都使用
fmt直接输出到控制台,后续尝试实现高效异步日志模块 - 项目模块化:后续尝试优化项目代码组织形式
- 程序运行环境:Ubuntu 24.04 Server
- 依赖库:Google Protobuf;format 库(仅当前版本)