CloudWeGo 生态学习笔记
欢迎学习 CloudWeGo 生态!CloudWeGo 是字节跳动开源的一套云原生微服务中间件集合,专注于微服务通信与治理,具备高性能、可扩展、高可靠的特点。
学习路线图
CloudWeGo 概述 → Kitex RPC → Hertz HTTP → Netpoll 网络 → 服务治理 → 实战项目第一部分:CloudWeGo 概述
| 章节 | 标题 | 内容概要 |
|---|---|---|
| 01 | CloudWeGo 生态介绍 | CloudWeGo 定位、核心组件、应用场景 |
| 02 | 快速开始 | 环境搭建、Hello World 示例 |
| 03 | IDL 基础 | Thrift/Protobuf IDL 语法 |
| 04 | 代码生成工具 | kitex、hz 工具使用 |
| 05 | 项目结构规范 | 推荐的项目目录结构 |
第二部分:Kitex RPC 框架
| 章节 | 标题 | 内容概要 |
|---|---|---|
| 06 | Kitex 基础 | Kitex 架构、核心概念 |
| 07 | 服务端开发 | Server 创建、配置、启动 |
| 08 | 客户端开发 | Client 创建、调用方式 |
| 09 | 中间件机制 | 中间件原理、自定义中间件 |
| 10 | 流式处理 | gRPC Streaming、TTHeader Streaming |
第三部分:Hertz HTTP 框架
| 章节 | 标题 | 内容概要 |
|---|---|---|
| 11 | Hertz 基础 | Hertz 架构、核心概念 |
| 12 | 路由与中间件 | 路由定义、中间件使用 |
| 13 | 参数绑定 | Bind、Validate、参数解析 |
| 14 | HTTP 客户端 | Client 使用、请求配置 |
| 15 | SSE 流式响应 | Server-Sent Events 实现 |
第四部分:Netpoll 网络库
| 章节 | 标题 | 内容概要 |
|---|---|---|
| 16 | Netpoll 基础 | Netpoll 架构、核心原理 |
| 17 | 连接管理 | 连接池、连接复用 |
| 18 | 高性能实践 | 性能调优、最佳实践 |
第五部分:服务治理
| 章节 | 标题 | 内容概要 |
|---|---|---|
| 19 | 服务注册发现 | Nacos、Consul、etcd 集成 |
| 20 | 负载均衡 | 负载均衡策略、权重配置 |
| 21 | 熔断与限流 | 熔断器、限流器配置 |
| 22 | 重试与超时 | 重试策略、超时控制 |
| 23 | 可观测性 | Prometheus、OpenTelemetry 集成 |
第六部分:实战项目
| 章节 | 标题 | 内容概要 |
|---|---|---|
| 24 | 微服务架构设计 | 架构设计、服务拆分 |
| 25 | 项目实战 | 完整项目开发流程 |
| 26 | 学习路线总结 | 知识体系、进阶方向 |
CloudWeGo 核心组件
| 组件 | 描述 | GitHub |
|---|---|---|
| Kitex | 高性能 RPC 框架 | cloudwego/kitex |
| Hertz | 高性能 HTTP 框架 | cloudwego/hertz |
| Netpoll | 高性能网络库 | cloudwego/netpoll |
| kitex-contrib | Kitex 扩展库 | cloudwego/kitex-contrib |
| hertz-contrib | Hertz 扩展库 | cloudwego/hertz-contrib |
为什么选择 CloudWeGo?
1. 极致性能
- 自研网络库 Netpoll,基于 epoll/kqueue
- 单机支撑十万级 QPS,延迟 P99 低于 1ms
- 内存优化,GC 压力小
2. 生产验证
- 字节跳动内部大规模使用
- 支撑抖音、今日头条等亿级用户产品
- 经过超大规模流量验证
3. 生态丰富
- 完整的微服务解决方案
- 支持主流注册中心、配置中心
- 完善的可观测性集成
4. 易用性强
- 代码生成工具简化开发
- API 设计简洁直观
- 完善的文档和示例
学习建议
- 循序渐进 - 按顺序学习,先掌握基础概念
- 动手实践 - 每个章节都要动手编写代码
- 阅读源码 - 深入理解框架实现原理
- 关注社区 - 参与社区讨论,关注版本更新