近日,字节跳动正式宣布开源CloudWeGo,这是一套以Go语言为核心、专注于微服务通信与治理的项目集合。
目前,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代码,统一迭代演进。