CloudWeGo 的项目生态
对于 Hertz 来说,在社区开发者的大力支持和参与下,同样构建了丰富的周边生态,在服务注册发现以及可观测性方面,和 Kitex 的能力集成体验上几乎是一致的,技术栈可以保持统一。比如,RPC 和 HTTP 场景都可以选择 etcd 作为注册中心,采用 OpenTelemetry 对可观测度量进行打标,采用 Prometheus 展示 metrics 监控,采用 Jaeger 展示链路追踪等。不过主要应用于 BFF 场景下作为 HTTP 库,不会集成过多服务治理的能力,但是会支持和 Web 浏览器通信的各种库,比如会话、缓存、跨域访问控制、认证鉴权、SSE 等相关中间件,满足 Web 后端需要的一切必要能力的集成。
基于字节自主开源的核心项目以及社区开发者共建的项目生态,CloudWeGo 构建起了一整套适应于研发体系的开源生态:
项目立项初期,用户可以参考我们发布的云原生微服务架构白皮书做好架构设计和技术选型
开发阶段,可以使用脚手架工具基于 IDL 和项目模板一键生成脚手架代码,统一工程化构建,简化开发流程
开发完成后,可以非常方便在公有云微服务相关的产品或者自建环境快速完成项目部署
运行时,支持服务注册发现、(东西向)流量治理、动态配置、可观测监控、数据安全等,未来还将支持南北向流量治理、API 测试、代码产物管理等能力
CloudWeGo 开发者生态与创新
EasyNote
https://github.com/cloudwego/biz-demo/tree/main/easy_note
Open Payment Platform
https://github.com/cloudwego/biz-demo/tree/main/open-payment-platform
左边用户发起了 HTTP 请求,POST 方法,指定特定的服务路径参数,传了某些业务参数到了网关;
Bookinfo
https://github.com/cloudwego/biz-demo/tree/main/bookinfo
技术选型上面,用 Hertz 实现 HTTP 服务 productpage,用 Kitex 实现 RPC 服务;基于 Istio 作为服务网格控制面,与数据面的 xDS 模块做交互,负责 xDS 配置动态下发;基于 OpenTelemetry 的 Baggage 实现上下文透传,同时实现 logs、trace、metrics
最终实现基于 Proxyless 架构的全链路泳道。即演示了 CloudWeGo 生态可以与 Istio 生态完美兼容,由演示了可观测、全链路灰度等相关增强能力,是很多企业用户非常关注的技术能力。
Book Shop
https://github.com/cloudwego/biz-demo/tree/main/book-shop
以上四个项目的详细解读均已发布在 CloudWeGo 的公众号,大家如果感兴趣也可以详细查阅了解。
Open Payment Platform——基于 CloudWeGo 实现 API Gateway
其它优秀创新项目
CloudWeGo 企业用户案例
CloudWeGo 关注真实企业用户落地,构建企业用户支持体系和维护体系,持续支持新用户落地,支持现有企业用户需求。当前较大规模落地的企业用户包括:智谱 AI、贪玩游戏、方正证券、Construct、森马、华兴证券、数美科技等;Sonic 也在招商银行企业内部落地。经过企业用户反馈,落地 CloudWeGo 后均获得的性能、成本和稳定性收益。
游戏 - 贪玩游戏
手游登录接口业务率先进行 PHP -> Golang 重构,并做微服务拆分,其中 HTTP 服务采用 Hertz 框架,而 RPC 微服务采用 Kitex 框架。其它微服务技术选型:服务注册发现 & 配置中心 Nacos、链路追踪 OpenTelemetry、监控 Prometheus、限流 Kitex 内置限流策略。后逐步推广至更多业务,全面启动重构,根据单一职责将业务拆分更细,可独立开发和扩展。
收益:1. 性能和稳定性提升:单 Pod 1c2g 能处理 400+ QPS;链路耗时低;失败率逼近 0%。2. CloudWeGo 提高开发效率,简化部署流程,自动伸缩容更便捷,业务更有弹性,成本得到降低。
金融 - 方正证券
2023 年年初方正启动了微服务体系建设,其中注册中心采用的 zookeeper,存量服务使用的是 Dubbo 框架,新建设的 Web 和 RPC 应用框架分别采用的 CloudWeGo 的 Hertz 和 Kitex。(Kitex <=> Dubbo)。微服务架构下,随着业务的发展,对服务的管控难度会越来越大,服务治理的作用就是为了解决服务拆分所引发的一系列问题,以让服务更稳定地运行,涉及的主题包含了服务注册与发现、负载均衡、服务熔断、服务降级、服务限流等。方正夸克平台提供的超时、重试以及服务端限流的功能,均基于 Kitex 的相关能力而来。
目前方正已经进入到了微服务建设的深水区,主要涉及到微服务治理,可观测性能力,接口管理等,未来还将基于 CloudWeGo 体系深度探索与服务网格的结合、统一多语言可观测性、统一 RPC 和 HTTP 接口管理等。
AI - 数美科技
接入层 RPC client 以及业务层 RPC server & RPC client 基于 Thrift 协议采用 Kitex 框架重构,解决了很多原生 Apache Thrift 框架的不足之处。将与公司基础设施耦合较紧密的这部分作为扩展进行接入,包括服务发现(Zookeeper)、日志(Zap)、链路追踪(OpenTelemetry)、Metrics(Prometheus)等,以上扩展组件 kitex-contrib 均提供了扩展支持,可以直接使用集成到自己系统。集成限流、熔断、过载保护等服务治理能力,让系统能够自适应地解决可能带来稳定性问题的流量。
收益:上线 Kitex 框架和服务治理功能可以很好地解决弹性扩缩以及机器负载导致的可用性问题,将突增引发的失败影响限定在很小范围内,极大得提升了系统的稳定性。流量是检验效果的唯一标准,经过足够多流量验证的 Kitex 是很好的选择。
泛互 - Construct
Construct 服务端架构的演进反映了互联网业务从简单到复杂的发展需求。Construct 公司见证了从单体架构,再到微服务架构的服务注册与发现机制,最终到服务网格(Service Mesh)的演进。面对众多的微服务框架,Construct 经过深思熟虑,最终选择了 Kitex。这一决策基于几个核心因素:Kitex 的易用性、高性能,尤其是在高并发环境下的出色表现。基准测试显示,Kitex 的 QPS 是 gRPC 的两倍,而且在延迟方面表现更为优异。
收益与总结:高并发性能出色,是 gRPC 两倍;高可用,可用性 > 99.999%;稳定性,稳定到几乎感觉不到框架的存在。
CloudWeGo 的社区发展总结
关键词一:企业用户
CloudWeGo 关注真实企业用户落地,截止日期,Kitex & Hertz 落地外部企业用户超过了 60 家。
开源至今,拉起了 80+ 企业用户一对一交流群,免费协助用户解决技术问题,帮助 CloudWeGo 高性能微服务技术在公司内部生产环境落地。
组织了超过 10 次与企业用户的线下面对面技术交流,深度沟通技术问题和解决方案,收集使用反馈和来自一线用户的建议,帮助我们更好地打磨项目的易用性。
关键词二:Star(Just For Fun)
核心项目 star 之和 2.9 w+,全部项目总计 3.3 w+(2021.9 - 2024.9)
对于开源项目来说,Star 只是一个浅层次的一个指标,往往很难和项目质量、项目价值、项目落地规模强相关。不过 Star 可以在一定程度上展示项目的受欢迎程度,star 的增长也可以给开发者带来情绪上的价值,Happy and Fun !
关键词三:全球访问用户
截止 2024 年 9 月,CloudWeGo 官网全球独立访问用户超过了 19 万,遍布中国、新加坡、美国、日本、印度尼西亚、德国、韩国等全球地区国家。这一指标意味着 CloudWeGo 走向了国际舞台,已经受到了全球多个国家的关注和使用。
关键词四:贡献者
CloudWeGo 自开源以来,吸引了来自公司内外的全球开发者参与到 CloudWeGo 的代码和文档的贡献,去重后全组织下的贡献者已经超过了 400 个,其中通过长期参与和有效贡献申请成为 Committer 的累计有 22 个,在此之上进一步晋升成为 Reviewer 的有 7 个,Approver 1 个。社区开发者繁荣且多样,包括国内的和海外的,也包括在职员工和高校学生。是大家的共同努力与共享,才铸就了当前 CloudWeGo 生态的繁荣。
关键词五:线下活动
线下活动对于开源社区和开发者来说是非常重要的活动,面对面的交流不仅能加速技术的深度触达,还能提供开发者情绪上的价值,给大家提供分享和相聚的机会。自开源以来,我们累计举办了超过 8 场较大规模的线下技术沙龙,获得国内主流技术媒体的支持和转播,疫情之后的线下活动均吸引了超过百位热情观众的参会和互动,给大家带来持续前进的力量。
写在最后
自去年正式对外发布以来,《CloudWeGo 技术白皮书 - 字节跳动云原生微服务架构原理与开源实践》在 CloudWeGo 官网、火山引擎官网累计下载人次 1000+,下载来源包括阿里、京东、腾讯、百度、美团、小红书等互联网行业公司员工,获得了业界的一致好评。
今年,我们更新了部分细节,新版白皮书将联合 InfoQ 发布,目前已经可以在 CloudWeGo 中文官网(https://www.cloudwego.io/zh/ )下载电子版,只需完成简单信息登记即可免费获取。
活动回顾
2024年9月21日,CloudWeGo 在北京成功举办了“高性能微服务技术实践与 AI 新范式—— CloudWeGo 技术沙龙暨三周年庆典活动”,超过200位开发者参与活动,与八位讲师一起探讨了近一年来 Kitex/Hertz 如何助力大模型,以及一站式 Go 开发工具 cwgo 和 LLM 原生的代码解决方案 ABCoder 和 ROG 等项目实践。本文是 CloudWeGo 开源负责人罗广明的分享总结。
三周年庆典活动视频回顾请访问CSDN、稀土掘金微信公众号。点击阅读原文即可获得PPT下载链接。
最后再我们用一个短片,回顾CloudWeGo三年以来的微服务技术的探索之旅吧: