Skip to content

xfarawayx/TinyRPC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

基于协程的 TinyRPC 服务器

这是一个基于 protobuf 的 RPC 框架,支持在 Linux 环境下进行服务端的服务注册和客户端的远程调用,提供高效的异步通信能力。

主要工作

  • 异步 I/O:利用 C++20 协程和 epoll 实现了基于事件循环的异步 I/O,提升了服务器的性能和响应速度。
  • 定时器机制:设计并实现了基于小根堆的定时器,结合智能指针自动管理超时连接,避免无效连接占用。
  • 缓冲区优化:实现 Buffer 类用于构建读写缓冲区,大幅提升数据处理能力和网络传输效率。
  • RPC 协议实现:基于 protobuf 进行数据的序列化,并设计了简易的自定义协议,实现 RPC 服务通信。

TODO

  • 日志模块:目前大部分日志都使用 fmt 直接输出到控制台,后续尝试实现高效异步日志模块
  • 项目模块化:后续尝试优化项目代码组织形式

环境与依赖

  • 程序运行环境:Ubuntu 24.04 Server
  • 依赖库:Google Protobuf;format 库(仅当前版本)

About

基于 C++20 协程的 TinyRPC 服务器

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors