9月8日消息,字节跳动正式宣布开源CloudWeGo,这是一套以Go语言为核心、专注于微服务通信与治理的项目集合。基于字节跳动基础架构团队构建分布式系统的成功实践,CloudWeGo具有高性能、可扩展、高可靠的特点。
在抖音等App亿级流量背后,字节跳动基础架构团队开发的技术底座支撑着庞大的微服务生态系统。从2018年至今,该团队维护的在线微服务数量增长了近600%,已达到5万的规模。CloudWeGo也在此过程中持续迭代和完善。
目前,CloudWeGo有四个项目集合:
1、Kitex:Kitex是字节跳动研发的下一代高性能、强可扩展的Golang RPC框架。除了具备丰富的服务治理特性,它还集成了自研的网络库Netpoll,支持多消息协议和多交互方式,提供更加灵活可扩展的代码生成器。
2、Netpoll:这是一个基于Golang的高性能、I/O非阻塞网络框架,专注于RPC场景。它借鉴了evio和netty的优秀设计,具有出色的性能,更适用于微服务架构。
3、Thrfitgo:用Golang实现的Thrift编译器,支持插件机制,支持完整的Thrift IDL语法和完善的语义检查。目前后端支持Go语言。
4、netpoll-http2:基于官方HTTP2源码改造使用Netpoll,提供高性能的HTTP2通信。
字节跳动相关技术负责人介绍,CloudWeGo不仅仅是一个开源项目,也是企业级的超大规模实践项目,“通过开源,我们希望CloudWeGo能丰富云原生社区的Golang工具体系,为更多开发者和企业搭建云原生化的大规模分布式系统,提供一种现代的、资源高效的的技术方案。”
据悉,字节跳动基础架构团队将会在内外部维护一套CloudWeGo代码,统一迭代演进。