课程视频:https://live.juejin.cn/4354/yc_RPC-framework
课程导学:https://juejin.cn/post/7099665398655615006/#heading-0
课后作业:https://juejin.cn/post/7099742161540743198/
由于课程涉及到的RPC知识需要自己对其有较为全面的理解后才能比较好的get到课程中提及的各种框架设计的点,因此我建议阅读Kitex框架的源码,再结合课程目录去体会Kitex设计的初衷,笔记就以罗列概况为主,以备后续对比查阅。
Kitex是字节跳动内部的Golang微服务RPC框架,先已开源。
Kitex文档:https://www.cloudwego.io/zh/docs/kitex/getting-started/
Kitex体验:https://juejin.cn/post/7098966260502921230
Kitex源码阅读—脚手架代码的生成(一):https://juejin.cn/post/7100867939829563422
在使用连接池时,池中存在失效的连接,影响连接池的复用。
一个连接一个goroutine的模式,由于连接利用率低下,存在大量goroutine占用调度开销,影响性能。
引入epoll主动监听机制,感知连接状态
建立goroutine池,复用goroutine
引入Nocopy Buffer,向上层提供NoCopy 的调用接口,编解码层面零拷贝
支持多协议,也支持灵活的自定义协议扩展
由于课程关于RPC框架的理解需要结合具体的使用经验,因此我推荐尝试开始独立阅读Kitex的源码,可以从边缘组件开始,如:分析是如何通过命令行创建脚手架代码的,等逐渐熟悉源码分析的方法之后,可以尝试阅读核心组件的源码,再结合课程的组织目录,仔细体会Kitex的设计。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有