前沿资讯/字节跳动 CloudWeGo 加入 GitCode,开源微服务与 LLM 开发新势力登场!
字节跳动 CloudWeGo 加入 GitCode,开源微服务与 LLM 开发新势力登场!
字节跳动 CloudWeGo 加入 GitCode,开源微服务与 LLM 开发新势力登场!

2025-02-27发布

在数字化转型加速的当下,微服务架构凭借其高可维护性、可扩展性和灵活性,成为企业构建大型分布式系统的主流选择;而大语言模型(LLM)在自然语言处理、智能交互等领域的应用也日益广泛,为各行业带来了全新的发展机遇。在这样的行业背景下,CloudWeGo 作为字节跳动基础架构服务框架团队开源的中间件集合,在微服务通信治理与 LLM 开发领域持续深耕,已成为推动行业技术进步的重要力量。

image.png

近日,CloudWeGo 正式加入 GitCode 平台,为开源技术领域注入了新的活力,也为开发者们搭建起一座更为广阔的技术交流与协作的桥梁。

CloudWeGo:企业级云原生微服务架构的得力助手

CloudWeGo 旨在助力开发者快速构建企业级云原生微服务架构,其涵盖多个重点子项目,横跨 Go 与 Rust 开发语言。从底层的网络库、编解码库、序列化库,到上层的开发框架,均为自研。这些项目具备高性能、高扩展性和高可靠性的特点,既能够独立运行,满足特定场景的开发需求,也可以相互配合,构建完整的上下游生态,为开发者提供全方位的技术支持。

CloudWeGo 旗下项目速览

Eino:大语言模型应用开发框架的新星

Eino 是 CloudWeGo 近期开源的一款基于 Golang 的大模型应用综合开发框架,它在大语言模型应用开发领域展现出了巨大的潜力。

image.png

核心优势显著:Eino 内核稳定,API 设计简洁易懂,为开发者提供了清晰的上手路径和流畅的学习曲线。基于强类型语言 Golang 开发,使得代码具有更高的可读性和可维护性,有效降低了长期维护成本。同时,Eino 背靠字节跳动核心业务线的实践经验,经过内部多业务线、数百个服务的实际应用检验,其可靠性得到了充分验证。

强大的编排能力:Eino 基于明确的 “组件” 定义,提供强大的流程 “编排” 功能。它由一系列大模型领域的组件构成,例如与大模型交互的 Chat Model 组件。通过组件之间的灵活编排,能够实现复杂的业务逻辑。以 ReAct Agent 为例,ChatModel 可以与 Tool 组件协同工作,根据输入的 Message 自主决策是否调用 Tool,并根据 Tool 的执行结果进行后续处理,整个过程通过代码实现清晰简洁,与流程图紧密对应,便于开发者理解和维护。

极致的扩展性:在扩展性方面,Eino 表现出色。每类组件都支持横向扩展,如 ChatModel 组件可以接入 OpenAI、Gemini、Claude 等多种不同的模型。对于特殊的业务需求,开发者还可以将自定义 function 声明为 Lambda 类型,无缝集成到编排体系中。此外,Eino 还提供了丰富的开箱即用的配套工具,涵盖链路追踪、调试、可视化等功能,大大提升了开发效率。

Kitex:Go 语言微服务 RPC 框架的实力派

基于 Go 语言开发的 Kitex,是一款高性能且强可扩展的微服务 RPC 框架,为分布式系统开发提供了高效可靠的解决方案。在当今微服务架构盛行的时代,RPC 框架的性能和扩展性直接影响着系统的整体表现,而 Kitex 正是应对这些挑战的有力工具。

卓越性能,高效通信

Kitex 使用自研的高性能网络库 Netpoll,相比标准库 go net,在网络 I/O 处理上性能大幅提升,能够显著提升服务间的通信效率,降低延迟,尤其适合高并发、低延迟要求的分布式系统场景。在字节跳动内部大规模应用中,Netpoll 的出色表现有力地支撑了海量业务请求的高效处理。

灵活扩展,随心定制

它提供了丰富的扩展接口以及默认扩展实现,开发者可以根据项目的实际需求,在服务注册、服务发现、负载均衡、监控等多个关键环节进行自定义扩展。比如,开发者可以轻松定制自己的服务发现逻辑,使其更好地适配特定的业务环境和架构需求,真正实现将 Kitex 融入到自己的治理体系中。

多协议支持,适配多元需求

Kitex 支持多种传输协议和序列化方式,在消息协议上,默认支持 Thrift、Kitex Protobuf、gRPC 。传输协议方面,支持 TTHeader、HTTP2。多协议的支持使得开发者能够根据项目的具体需求,灵活选择最合适的组合,实现定制化开发,满足不同业务场景下的通信需求。

全面服务治理,保障系统稳定

在服务治理方面,Kitex 提供了全面的支持,涵盖服务注册 / 发现、负载均衡、熔断、限流、重试、监控、链路跟踪、日志、诊断等多个关键模块,并且大部分模块都提供了默认扩展,开发者可以根据需要快速集成,轻松构建起稳定、可靠、可运维的微服务架构 。

Volo:Rust 语言 RPC 框架的创新先锋

Volo 是基于 Rust 语言开发的 RPC 框架,致力于帮助开发者轻松构建健壮的微服务。Rust 语言凭借其卓越的内存安全性和高效性能,在系统级编程领域独树一帜,而 Volo 巧妙地将这些优势融入到 RPC 框架的设计中,为开发者带来了前所未有的开发体验。

前沿特性驱动,性能卓越

Volo 充分利用了 Rust 最新的 AFIT 和 RPITIT 特性,以 Motore 作为中间件抽象层,获得强大支持。借助 RPITIT,能够有效避免许多不必要的 Box 内存分配,不仅提升了性能,还为开发者提供了更友好、更符合人机工程学的编程接口与范式。在性能方面,Rust 语言的特性使得 Volo 在设计和实现过程中,将高性能作为核心目标,尽可能减少各个环节的开销。在与 Kitex 相同的 4C 测试条件下,Volo 的 QPS 可达 350k,基于 Monoio(CloudWeGo 的开源 Rust 异步运行时)的版本 QPS 更是能达到 440k ,从在线业务火焰图来看,得益于 Rust 的静态分配和出色编译优化,框架部分开销(不包括 syscall 开销)基本可忽略不计,在对性能和资源管理要求极高的场景下,Volo 能充分发挥独特优势,为项目提供稳定可靠的支持。

设计精巧,易于上手

Volo 致力于降低开发者使用门槛,将易用性视为重要目标。例如,提供 volo 命令行工具,方便引导项目和管理 idl 文件;把 Thrift 和 gRPC 拆分为两个独立却又共享部分组件的框架,使编程范式更贴合不同协议语义和接口。同时,通过 #[service] 宏(类似无需 Box 的 async_trait),开发者可以毫无负担地使用异步 Rust 编写服务中间件,享受流畅的编码体验。

灵活扩展,激发创新

Rust 强大的表达式和抽象能力赋予了 Volo 极强的扩展性。通过灵活的中间件 Service 抽象,开发者能够以统一形式处理 RPC 元信息、请求和响应。像服务发现和负载均衡等服务治理功能,都能以服务形式实现,无需独立实现 Trait。Volo 还创建了 [Volo-rs][volo-rs] 组织,积极欢迎各方贡献,共同推动框架生态的繁荣发展。

Hertz:高性能、高扩展性的 Go 语言微服务 HTTP 框架

Hertz 同样是基于 Go 语言开发的微服务 HTTP 框架,以高易用性、高性能、高扩展性为显著优势。在实际开发场景中,其简洁明了的设计使得开发者能够迅速上手,即便面对复杂的业务逻辑,也能高效地构建 HTTP 服务。

image.png

同时,Hertz 在性能优化方面表现出色,能够轻松应对高并发场景,确保服务的稳定运行。此外,其丰富的插件体系和灵活的配置选项,为开发者提供了广阔的扩展空间,满足不同项目的多样化需求。

CloudWeGo 加入 GitCode:推动微服务和 LLM 开发领域的全面进步

CloudWeGo 加入 GitCode,为开源社区注入了强大的活力与动力。一方面,GitCode 平台为 CloudWeGo 的各个项目提供了更广阔的展示和交流平台,有助于吸引更多开发者参与到项目的开发和优化中来,加速技术的创新和迭代。另一方面,这种开源协作模式能够促进知识的共享和技术的传播,推动微服务和 LLM 开发领域的整体发展。对于开发者而言,无论是想深入学习先进的开发技术,还是参与到开源项目中提升自身能力,CloudWeGo 在 GitCode 上的项目都是不可多得的资源。

立即体验

体验地址:https://gitcode.com/CloudWeGo

Eino:https://gitcode.com/CloudWeGo/eino

Kitex:https://gitcode.com/CloudWeGo/kitex

Volo:https://gitcode.com/CloudWeGo/volo

Hertz:https://gitcode.com/CloudWeGo/hertz

未来,随着 CloudWeGo 与 GitCode 社区的深度融合,相信会有更多精彩的技术成果诞生,为开源技术生态的繁荣发展贡献重要力量。让我们共同期待 CloudWeGo 在 GitCode 平台上释放更为强大的技术势能,为开发者创造更多价值!