系统开发|青训营笔记

95 阅读1分钟

这是我参与「字节跳动青训营」伴学创作笔记活动的10天

Kte在发布之初使用的是原生的库,所以存在两个最主要的问题: 一是无法直接感知对端连接状态; ☆ 是原生net网络库在面对长连接时,容易产生goroutine爆炸的问题 这在HTTP场景下其实很常见,开发人员经常会遇到个HTTR服务 母 (包括使用Gin这种框架的时候) 的内存出现持续增长。为什么?因为实际场景中客户端经常忘记关连接 ☑ Netpoll可以通过一个React模型去解决连接爆炸的问题,同时也带来些zero-copy buffer的使用。 关于多协议,字节跳动的大多数服务采用的都是Tt协议。而这里的多协议是应对一些业务提出的支 持其他协议的需求。例如后端服务和端上的Protobuf打通。通过多协议支持实现了它和Thit的解耦。 现在KiteX同时支持PB和Thrift协议, 也支持灵活的自定义协议扩展 高性能是所有做框架的开发者共同追求的目标,这里不再赘述。最后,KtX是面向开源社区设计的。 如上图所示,KiteX Core是可以直接开源的部分,右侧的KiteX Byted涉及字节跳动内部工具,这块在 对外时可以被替换成一些开源的日志库和方案。 截至今年5月,公司内已经有超过20000个服务正在使用KiteX,.同时它也支持了streaming/.泛化调用