[7 天用 Go 从零实现系列] 第四期 RPC 框架 GeeRPC 已经完结~
資深大佬 : gzdaijie 0
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 语言
大佬有話說 (11)