中国 KubeCon + CloudNativeCon + Open Source Summit 虚拟大会
12 月 9 日至 10 日
https://www.lfasiallc.com/kubecon-cloudnativecon-open-source-summit-china/
近日,字节跳动正式宣布开源 CloudWeGo[1]。这是一套专注于微服务通信与治理的中间件集合,基于基础架构团队多年构建分布式系统的经验,具有高性能、可扩展、高可靠的特点。
CloudWeGo 第一批开源了四个项目:
-
Kitex [2]:字节跳动研发的下一代高性能、强可扩展的 Golang RPC 框架。除了具备丰富的服务治理特性,它还集成了自研的网络库 Netpoll,支持多消息协议和多交互方式,提供更加灵活可扩展的代码生成器。 -
Netpoll [3]:这是一个基于 Golang 的高性能、I/O 非阻塞网络框架,专注于 RPC 场景。它借鉴了 evio 和 netty 的优秀设计,具有出色的性能,更适用于微服务架构。 -
Thriftgo [4]:Go 语言实现的 Thrift IDL 解析和代码生成器,支持完善的 Thrift IDL 语法和语义检查。 -
netpoll-http2 [5]:基于 Golang 标准库 golang.org/x/net/http2 的源码替换 go net 为 Netpoll。
它的开源初衷是向社区开放字节跳动内部真实的超大规模企业级实践工具,进一步丰富云原生社区 Golang 工具体系,帮助更多开发者快速构建新一代云原生架构。同时,通过开源,项目也能向多元场景支持演进,进一步丰富能力。
“Kitex 是字节跳动内部的 Golang 微服务 RPC 框架,有高性能、强可扩展的主要特点。在 Kitex 之前,字节内部使用的框架是 Kite,但 Kite 与 Thrift 深度耦合、生成代码逻辑重,很难从网络模型或编解码层面改造优化,继续支持新特性势必会造成代码越发臃肿迭代受阻问题。” CloudWeGo 的维护负责人 Emma 表示,“于是我们针对曾经的痛点设计了新的框架 Kitex。虽然是新框架,但它已经在线上应用了一年多,目前字节内部超过 50% 的 Golang 微服务都在使用 Kitex。”
作为 CloudWeGo 的另一个核心项目,Netpoll 是一个基于 Golang 的高性能、I/O 非阻塞网络库,专注于 RPC 场景。它针对字节跳动高并发场景设计,为开源社区提供了一种全新的、专注于 RPC 方案的 Go 网络库技术方案。
CloudWeGo 进入 CNCF landscape
根据官方消息,CloudWeGo 会内外维护一套代码,统一迭代演进,目前字节跳动的内部版本已完成到开源库的无感知迁移。开源团队也正和 CNCF 对接项目捐赠事项,希望能借助 Linux 基金会的力量,帮助加速项目开发,并为 CloudWeGo 吸引更多个人开发者和企业组织用户。
你可以在 https://github.com/cloudwego 上了解关于 CloudWeGo 的更多信息,试用该工具集,并向该项目作出贡献。
相关链接
项目官网:www.cloudwego.io
加入飞书社群:
参考资料
CloudWeGo: https://www.cloudwego.io/
[2]Kitex: https://github.com/cloudwego/kitex
[3]Netpoll: https://github.com/cloudwego/netpoll
[4]Thriftgo: https://github.com/cloudwego/thriftgo
[5]netpoll-http2: https://github.com/cloudwego/netpoll-http2
点击【阅读原文】到达项目官网。
CNCF概况(幻灯片)
扫描二维码联系我们!
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。
本文分享自微信公众号 - CNCF(lf_cncf)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。