talkgo / night

Weekly Go Online Meetup via Bilibili|Go 夜读|通过 bilibili 在线直播的方式分享 Go 相关的技术话题,每天大家在微信/telegram/Slack 上及时沟通交流编程技术话题。

Home Page:https://talkgo.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【发起分享提案】从零开始的高性能RPC设计与实现

zbh255 opened this issue · comments

分享内容大纲

  • littlerpc的实例代码介绍
  • 与golang中主流RPC的PK
    • 网络io+简单cpu计算
    • 纯网络io
    • test case
      • arpc
      • std-rpc
      • rpcx
      • kitex
      • littlerpc
      • grpc
  • 插件层的设计原因
  • server&client插件式网络层源码解读
    • 共用的模型
    • 数据路径
      • 允许处理事件的网络框架
      • 只能处理数据的网络框架
    • 框架的接入
      • std-netpoll
      • nbio
      • ddio
  • 负载均衡器源码解读
  • 网络协议的设计
    • 带请求序号的异步协议
    • Mux解决Head Block问题
  • 插件化Message Parser源码解读
    • 解决慢连接问题
    • lrpc protocol的实现
    • json-rpc 2.0的实现
    • grpc-protocol的未来展望

分享人

rainstorm
GitHub : @zbh255

现状

项目地址

https://github.com/nyan233/littlerpc

README.md

自述文件里内容是很久之前写的了,一直没有时间更新,我会抓紧完善,给出更加详细的测试结果,负载均衡器&Message Parser也有一些性能问题可以优化的

为什么没有服务治理相关的内容

框架目前实现的服务治理能力很弱,所以分享里没有关于服务治理的内容,主要分享的是RPC框架的性能调优和设计

备注

本人水平不高,难免有遗漏或者写的不好的地方,还望各位指正。需要更多的分享内容的话欢迎提出