近日,字節跳動正式宣布開源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代碼,統一迭代演進。