[7 天用 Go 从零实现系列] 第四期 RPC 框架 GeeRPC 已经完结~

geektutu/7days-golang 这个项目坚持到第四期了

  • 第一期是模仿 gin 的 web 框架 Gee
  • 第二期是模仿 groupcache 的分布式缓存 GeeCache
  • 第三期是模仿 gorm/xorm 的 ORM 框架 GeeORM

第四期是参考 net/rpc 实现的 RPC 框架 GeeRPC,最后的代码约 1.5K ,实现的时间以及代码量略微超出预期,大半个国庆假期耗在上面了。最近半年工作实在太忙,Github 几乎没有更新了,感谢假期让我又填了一个坑。

  • 第一天 – 服务端与消息编码
  • 第二天 – 支持并发与异步的客户端
  • 第三天 – 服务注册(service register)
  • 第四天 – 超时处理(timeout)
  • 第五天 – 支持 HTTP 协议
  • 第六天 – 负载均衡(load balance)
  • 第七天 – 服务发现与注册中心(registry)

很荣幸在只有三期的情况下积累了 4.9k star,与之相关的博客也收获到了近 200 个评论,很多童鞋的评论没有及时回复在此表示歉意。有个童鞋说靠博客学了一半,看评论学了另一半。很多时候出于代码量的考量,裁剪、重新组织、或是重新实现了原框架中的一些模块,有考虑不当的地方,我个人也在大家的评论中学习到了不少东西。感谢对这个项目支持的所有童鞋。之前挖的坑,比如嵌入式数据库 bbolt,比如容器 docker, 再慢慢地一个个填上吧。

这个项目的动态也可以关注知乎专栏 Go 语言

相关文章

10 thoughts on “[7 天用 Go 从零实现系列] 第四期 RPC 框架 GeeRPC 已经完结~

  1. 楼主厉害啊 点进去看了下感觉网站风格很熟悉 之前做毕设的时候看过楼主之前写的用 TF 做强化学习的一系列教程 帮助挺大的

  2. @kasumigaoka 工作问题,强化学习没继续写下去了,不过风格是类似的,先从 N 到 1,然后再从 0 – N,对毕设有帮助很荣幸啦~

发表评论

电子邮件地址不会被公开。 必填项已用*标注