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