近日,字節(jié)跳動(dòng)正式宣布開源CloudWeGo,這是一套以Go語言為核心、專注于微服務(wù)通信與治理的項(xiàng)目集合。
目前,CloudWeGo有四個(gè)項(xiàng)目集合:
1、Kitex:Kitex是字節(jié)跳動(dòng)研發(fā)的下一代高性能、強(qiáng)可擴(kuò)展的Golang?RPC框架。除了具備豐富的服務(wù)治理特性,它還集成了自研的網(wǎng)絡(luò)庫Netpoll,支持多消息協(xié)議和多交互方式,提供更加靈活可擴(kuò)展的代碼生成器。
2、Netpoll:這是一個(gè)基于Golang的高性能、I/O非阻塞網(wǎng)絡(luò)框架,專注于RPC場景。它借鑒了evio和netty的優(yōu)秀設(shè)計(jì),具有出色的性能,更適用于微服務(wù)架構(gòu)。
3、Thrfitgo:用Golang實(shí)現(xiàn)的Thrift編譯器,支持插件機(jī)制,支持完整的Thrift?IDL語法和完善的語義檢查。目前后端支持Go語言。
4、netpoll-http2:基于官方HTTP2源碼改造使用Netpoll,提供高性能的HTTP2通信。
字節(jié)跳動(dòng)相關(guān)技術(shù)負(fù)責(zé)人介紹,CloudWeGo不僅僅是一個(gè)開源項(xiàng)目,也是企業(yè)級的超大規(guī)模實(shí)踐項(xiàng)目,“通過開源,我們希望CloudWeGo能豐富云原生社區(qū)的Golang工具體系,為更多開發(fā)者和企業(yè)搭建云原生化的大規(guī)模分布式系統(tǒng),提供一種現(xiàn)代的、資源高效的的技術(shù)方案。”
據(jù)悉,字節(jié)跳動(dòng)基礎(chǔ)架構(gòu)團(tuán)隊(duì)將會(huì)在內(nèi)外部維護(hù)一套CloudWeGo代碼,統(tǒng)一迭代演進(jìn)。