第 143 期 2023-03-23 从零开始的高性能RPC设计与实现

第 143 期从零开始的高性能RPC框架设计与实现

YouTube 回看

介绍如何实现一个高性能&高扩展性&轻量级的RPC框架,源码分析基于littlerpc,littlerpc是一个实验项目,提供高自由度的接口定义,高性能,高拓展性的设计,自带codegen用于生成静态代理,自带lrpcurl用于简单调试,这是项目的主页: site

大纲

  • 简介和代码示例
  • 与其它框架的Benchmark
  • 插件式网络层
    • nbio&net&ddio的适配
    • io_uring的小谈
  • 协议中间层解析
    • Mux的设计
    • 解决Head Block问题
  • 插件式协议层
    • 默认协议的FSM设计
    • slow conn的解决
    • 与消息写回进行配对
    • json-rpc2的适配
    • grpc-protocol小谈
  • 负载均衡器的设计
  • reflect.Value.Call性能问题的缓解

分享者自我介绍

rainstorm,开源爱好者,github

计划分享时间

2023-03-23 21:00:00 UTC+8

分享地址

Bilibili 直播:

https://live.bilibili.com/h5/11171965

视频号直播:

Slides

markdown

推荐使用以下 2 个 Slides 的某一个作为模板:

参考资料

网络层接口参照了一些网络框架,其中一些思想融入到了我的另一个项目ddio

RPC的接口设计方面参照过一些框架

Littlrpc目前默认使用的高性能日志库是我自己编写的