├── .gitignore └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baiyutang/cloudwego-read/5ab9cf783ca5824d2e7a5cd9e10c5f3528da0450/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CloudWeGo 源码解读 2 | 3 | [CloudWeGo](https://github.com/cloudwego) 是字节跳动基础架构团队开源出来的项目,它是一套可快速构建企业级云原生架构的中间件集合,它专注于微服务通信与治理,具备高性能、可扩展、高可靠的特点,且关注易用性。 4 | 5 | 主要项目: 6 | - Kitex:高性能、强可扩展的 Golang RPC 框架 7 | - Hertz:[həːts] Golang 微服务 HTTP 框架 8 | - Volo:轻量级、高性能、可扩展性强、易用性好的 Rust RPC 框架,使用了 Rust 最新的 GAT 特性, Volo 使用 Motore 作为中间件抽象层,Motore 基于 GAT 设计 9 | - Netpoll:高性能、I/O 非阻塞、专注于 RPC 场景的网络框架 10 | - Thriftgo:Golang 实现的 Thrift 编译器,支持插件机制和语义检查 11 | - Netpoll-http2:基于 Netpoll 的 HTTP/2 实现 12 | 13 | ## Kitex 14 | 15 | ### 学习资料 16 | - [【仓库】github/cloudwego/kitex](https://github.com/cloudwego/kitex) 17 | - [【官网】cloudwego.io/kitex](https://www.cloudwego.io/zh/docs/kitex/) 18 | - [【文章】字节跳动微服务架构体系演进](https://mp.weixin.qq.com/s/1dgCQXpeufgMTMq_32YKuQ) 19 | - [【掘金小册】Go 组件设计与实现](https://juejin.cn/video/7046282096435789835) 20 | - [【文件】字节杨芮:微服务框架 Kitex 的设计、实践及开源](https://github.com/baiyutang/cloudwego-read/files/9157661/Kitex.pdf) 21 | - [【视频】Go 微服务框架 Kitex 扩展性设计和实践 | JTalk Meetup 11期](https://www.bilibili.com/video/BV1qa4y1H7i2) 22 | - [【PDF集合】CloudWeGo 社区对外 Meetup](https://github.com/cloudwego/community/tree/main/meetup) 23 | - [为什么应该参与开源项目](https://xie.infoq.cn/article/da498a0b9dcf7bc8cfc46b36b) 24 | 25 | ### 整体性设计 26 | - [从 CloudWeGo 谈云原生时代的微服务与开源](https://mp.weixin.qq.com/s/xWxb84WkYtWTBoVV3mzs6g) 27 | - Kitex 模块划分及调用链路 28 | - [Kitex 扩展性设计思路](https://xie.infoq.cn/article/50c36c2a3daa25a68da3d7a89) 29 | 30 | ### 服务治理 31 | - [服务注册](https://xie.infoq.cn/article/3b71488fc9b07f89f8950f8df) / [服务发现](https://xie.infoq.cn/article/ac5c8ce0c063a271e48d53423) 32 | - [熔断](https://xie.infoq.cn/article/04253a336fb608c9ae5fbd2eb) 33 | - [限流](https://xie.infoq.cn/article/408cd95d469ee2cdc72c1cd10) 34 | - [请求重试](https://xie.infoq.cn/article/49c70b806a0916078c1500653) 35 | - 负载均衡 36 | 37 | ### 公共模块 38 | - rpcinfo 39 | - endpoint 40 | - middleware 41 | - 元信息 42 | 43 | ### remote 44 | 45 | remote 模块是 Kitex 实现的 RPC 核心,是与远端交互的重要模块。 46 | 47 | - transport pipeline 48 | - trans handler 49 | - codec 50 | - payloadCodec 51 | 52 | 53 | ## Hertz 54 | 55 | ### 学习资料 56 | - [github/cloudwego/hertz](https://github.com/cloudwego/hertz) 57 | - [cloudwego.io/hertz](https://www.cloudwego.io/zh/docs/hertz/) 58 | - [[CSG第二期]分享01. 从精通烤肉到精通http](https://meetings.feishu.cn/s/1i38ftnck0f18?src_type=3) 59 | - [[CSG第二期]分享02. 如何利用命令行工具HZ快速开发Hertz服务](https://meetings.feishu.cn/s/1i3fsqit6jchu?src_type=3) 60 | 61 | 62 | ## Volo 63 | 64 | ### 学习资料 65 | - [【直播回放】探索 Rust 世界](https://meetings.feishu.cn/s/1ib1i995fy4u9?src_type=3) 66 | --------------------------------------------------------------------------------