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