📘 Go & gRPC 实战

🏆 30章 从入门到微服务
01
Go语言与gRPC初探 环境搭建
gRPC是什么、为什么选择gRPC、与RESTful对比、Go/protoc环境
02
Protocol Buffers入门 proto3
语法基础、定义消息、标量类型与枚举、字段编号规则
03
第一个gRPC服务 Hello
编写.proto、生成Go代码、服务端/客户端实现、运行测试
04
gRPC通信模式(一) Unary
一元RPC详解、请求响应、超时与取消
05
gRPC通信模式(二) 流式
服务端流、客户端流、双向流式RPC
06
gRPC错误处理 错误码
标准错误码、自定义错误、错误传播与拦截
07
gRPC拦截器 Interceptor
服务端/客户端拦截器、日志与认证实战
08
gRPC安全通信 TLS/JWT
TLS/SSL、双向TLS、Token认证(JWT)
09
gRPC负载均衡 服务发现
客户端负载均衡、内置策略、Consul集成
10
gRPC与RESTful网关 grpc-gateway
原理、生成REST API、同时提供HTTP服务
11
gRPC健康检查 探针
健康检查协议、实现健康服务、K8s探针集成
12
gRPC反射与调试 grpcurl
反射协议、grpcurl工具、调试服务
13
gRPC流式处理实战 大数据
文件上传下载、实时数据推送、流式传输
14
gRPC与数据库交互 CRUD
连接数据库、CRUD、事务、流式查询
15
gRPC中间件开发 可观测
自定义/限流/熔断中间件、OpenTelemetry链路追踪
16
gRPC测试 testify
单元测试、Mock(gomock)、集成测试、压力测试(ghz)
17
gRPC性能优化 压缩
连接池、gzip/snappy、流式批处理、内存复用
18
gRPC与微服务架构 Istio
服务拆分、gRPC角色、服务网格集成
19
gRPC与Kubernetes部署 K8s
Docker镜像、K8s部署、Ingress、滚动更新
20
gRPC跨语言通信 多语言
Python/Java/Node.js 客户端调用Go服务
21
gRPC高级特性 Metadata
Deadline传播、元数据传递、压缩配置
22
gRPC流式控制 背压
流量控制、Backpressure、窗口大小调整
23
gRPC多服务定义 版本管理
一个proto多服务、服务组合、版本管理
24
错误码最佳实践 业务码
业务错误码设计、映射、国际化信息
25
gRPC与事件驱动 Kafka
流式事件推送、与Kafka/RabbitMQ集成、事件溯源
26
gRPC安全最佳实践 OAuth2
认证授权、API密钥管理、安全头配置
27
监控与告警 Prometheus
Prometheus指标、Grafana面板、ELK日志聚合
28
实战项目(一)用户服务 User
注册登录、Token管理、用户服务设计实现
29
实战项目(二)订单服务 Order
订单设计、分布式事务、Saga模式
30
实战项目(三)系统集成 上线
完整微服务集成、API网关、部署上线与展望