/cloudwego-read

字节跳动 CloudWeGo 源码解读-微服务中间件集合

CloudWeGo 源码解读

CloudWeGo 是字节跳动基础架构团队开源出来的项目,它是一套可快速构建企业级云原生架构的中间件集合,它专注于微服务通信与治理,具备高性能、可扩展、高可靠的特点,且关注易用性。

主要项目:

  • Kitex:高性能、强可扩展的 Golang RPC 框架
  • Hertz:[həːts] Golang 微服务 HTTP 框架
  • Volo:轻量级、高性能、可扩展性强、易用性好的 Rust RPC 框架,使用了 Rust 最新的 GAT 特性, Volo 使用 Motore 作为中间件抽象层,Motore 基于 GAT 设计
  • Netpoll:高性能、I/O 非阻塞、专注于 RPC 场景的网络框架
  • Thriftgo:Golang 实现的 Thrift 编译器,支持插件机制和语义检查
  • Netpoll-http2:基于 Netpoll 的 HTTP/2 实现

Kitex

学习资料

整体性设计

服务治理

公共模块

  • rpcinfo
  • endpoint
  • middleware
  • 元信息

remote

remote 模块是 Kitex 实现的 RPC 核心,是与远端交互的重要模块。

  • transport pipeline
  • trans handler
  • codec
  • payloadCodec

Hertz

学习资料

Volo

学习资料