2024 从“心”出发,构建业界领先的微服务开源生态|CloudWeGo

技术

picture.image

来源|CloudWeGo 开源社区

2014 年,为了应对长连接推送业务中的 高并发 挑战,字节跳动引入了 Golang。由于其出色的性能,Golang 很快成为解决核心问题的利器。仅两年后,技术团队基于 Golang 打造了一个名为 Kite 的 RPC 框架,并对开源项目 Gin 进行了轻量级封装,推出了 Ginex。随着这两个框架的发布,Golang 在字节跳动内部的应用迅猛增长。

由于 Kite 与 Thrift 深度耦合,很难从网络模型或编解码层面改造优化,继续支持新特性势必会造成代码越发臃肿迭代受阻问题,于是字节跳动的服务框架团队在 2019 年重新设计了 Go RPC 框架,并自研了网络库,致力于提升性能和可扩展性。到了 2020 年 4 月,新的 Kitex 框架正式发布并上线。此后,类似的设计思路和底层模块也被应用于字节跳动自研的 Golang HTTP 框架 Hertz 中,它在 2021 年春节期间承受了大规模线上流量的考验。

随着技术的不断探索,我们注意到了 Rust 这门语言,并被其三大优势所吸引: 卓越的性能、极强的安全性以及方便协作的特性 。我们决定尝试使用 Rust 来开发服务端微服务,以解决性能上的挑战。但是,纵观整个 Rust 社区,我们发现缺乏生产级别的 Async Thrift 实现,在服务治理和易用性方面也有所欠缺。因此,字节跳动开始自研 Rust RPC 框架和相关生态。

到了 2021 年 9 月, CloudWeGo 的第一批微服务框架和组件——包括 Golang RPC 框架 Kitex 和网络库 Netpoll ——开源。随后,在 2022 年 6 月和 8 月,我们分别开源了 Golang HTTP 框架 Hertz 和 Rust RPC 框架 Volo 。2023 年,我们继续拓展开源生态,推出了 Golang RPC 编解码基础库 Dynamicgo 和高性能进程间通信库 Shmipc ,并发布了 Volo HTTP 框架。

picture.image

截至 2023 年年底,CloudWeGo 社区发展迅速,生态日益丰富。在 Kitex 项目上,我们实现了与 Dubbo 的互通 ,支持 Dubbo Java 用户往 Golang 迁移;并完善了对主流配置中心的集成,让用户能够 动态获取服务治理配置 ,准实时生效。Hertz 项目则加入了更多通用能力的中间件,如 SSE、Gzip、Sentry、CORS、Etag 等,以服务于广大内外部用户。这些进展都得益于来自各行各业的社区开发者,包括许多高校学生的参与和贡献,使我们的社区成员人数在 2023 年底超过了 300 人,形成了一个充满活力和归属感的开源家庭。

picture.image

开源项目的成功不仅在于技术建设,更关键的在于其在实际场景中的落地应用。目前 CloudWeGo 的企业用户已超过 40 家,涵盖 AI、电商、金融、游戏 等多个行业,用户普遍反馈项目带来了性能提升、成本优化和稳定性增强等多方面的收益。2023 年 12 月,我们发布了《CloudWeGo 技术白皮书:字节跳动云原生微服务架构原理与开源实践》,以支持更多企业用户参考和落地。

2024 年,CloudWeGo 将持续对项目功能、易用性进行打磨和优化,继续对企业用户落地提供大力支持,与社区合作伙伴和开发者共同构建业界领先并广泛应用的 Go & Rust 微服务开源生态。

2023 CloudWeGo 所获荣誉与证书

picture.image


项目地址

GitHub:https://github.com/cloudwego


官网:www.cloudwego.io


**点击【**  **阅读原文** **】查看** 
66
0
0
0
关于作者
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论