posts

《Java 服务端通信工程》 · 全书目录与章节索引(50 篇)

《Java 服务端通信工程》全 50 篇:从 RPC 语义、Protobuf 编码与四种调用模式写起,覆盖 Stub/Channel、Interceptor、服务发现与负载均衡、连接池与 drain、重试预算、熔断、限流背压,再到 HTTP 网关、TLS 与租户授权、指标日志追踪、灰度发布与契约测试,最后以容量模型、故障演练和 linkd-v3 验收收尾,附完整章节索引与实验口径。

《Java 服务端通信工程》全 50 篇,是「Java 网络与 Netty」三卷本的第三卷。卷一用 JDK 原生 API 手写 Selector、拆帧与 HTTP;卷二把这些部件映射到 Netty 4.2;本卷把 Netty 放回服务端工程,用一个 gRPC 服务 linkd-v3 讲清楚契约、治理、可观测性与发布。

本页是《Java 服务端通信工程》的全书目录:按章节顺序列出全部 50 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的三条学习路径。

全书概览

项目内容
书稿《Java 服务端通信工程》
篇数50 篇(15 章 45 节 + 序、前言、目录 + 附录 A/B)
领域gRPC、Protobuf、服务发现、流量治理、可观测性、容量与发布
贯穿项目linkd-v3 —— 四模块通信工程,gRPC 9093 / HTTP 网关 9094 / 指标与管理 9095
上游项目libraryd(8080)—— 前几卷的图书借阅服务,本卷作为被调用的下游
阅读方式从目录篇 进入按顺序通读,或按症状跳读
主线版本JDK 25 LTS(Temurin 25.0.5+8)、gRPC-Java 1.76.0、Protobuf 4.33.2、Maven 3.9.12
关键依赖grpc-netty-shaded、grpc-protobuf、grpc-stub、grpc-services、protobuf-java-util
上级专题书稿专题

全书目录

前置

节文章核心内容
—序:从能通到可运营三卷本定位、通信工程要补的六件事、学习预期
—前言:读法、环境与约定版本、机器口径、四模块结构与代码约定
—目录与学习路径三条学习路径、十五章结构、章间依赖

第一部分:契约与调用语义(第 1–3 章)

节文章核心内容
1.11.1 从 RPC 语义到线格式方法调用如何变成帧、header 与 trailer、手工 MethodDescriptor
1.21.2 错误模型与状态码Status 十六码、com.google.rpc.Status 与 ErrorInfo 详情
1.31.3 契约先行与演进边界proto 即契约、生成物边界、破坏性变更清单
2.12.1 Protobuf 编码与 schemavarint、length-delimited、字段号与 wire type
2.22.2 JSON 与 Protobuf 的取舍可读性、体积、schema 约束与调试成本
2.32.3 字段演进与兼容矩阵增删改字段、保留号、默认值与 unknown fields
3.13.1 四种调用模式unary、server/client streaming、bidi 与背压
3.23.2 Deadline 传播与取消deadline 换算、跨跳传播、取消与资源释放
3.33.3 幂等、重试与请求去重幂等键、去重窗口、可重试状态码

第二部分:客户端与服务发现(第 4–6 章)

节文章核心内容
4.14.1 Stub 与 Channel 生命周期ManagedChannel 构建、复用、shutdown 与 awaitTermination
4.24.2 Interceptor 与 Metadata拦截器链、Metadata.Key、header 读写与顺序
4.34.3 Codec、压缩与消息上限5 字节帧头、gzip、4 MiB 上限与超限错误
5.15.1 注册中心模型服务/实例/健康状态、注册与订阅、一致性取舍
5.25.2 自定义 NameResolverNameResolverProvider、scheme、地址列表推送
5.35.3 round_robin、pick_first 与健康检查负载均衡策略、子通道状态、drain 后摘流
6.16.1 HTTP/2 多路复用与连接数流与连接的比例、并发流上限、流控窗口
6.26.2 客户端连接池设计每目标连接数、借还模型、空闲回收
6.36.3 连接生命周期与 drainenterIdle、shutdown、在途请求与优雅摘流

第三部分:流量治理(第 7–9 章)

节文章核心内容
7.17.1 重试预算与退避重试次数、指数退避、抖动与预算上限
7.27.2 熔断状态机关闭/打开/半开、失败率窗口与探针
7.37.3 Bulkhead 与线程隔离信号量隔离、线程池隔离与拒绝策略
8.18.1 令牌桶与漏桶速率与突发、桶容量、时钟与精度
8.28.2 服务端并发限制最大并发、排队上限、拒绝与 RESOURCE_EXHAUSTED
8.38.3 队列与背压有界队列、流控窗口、慢消费者与丢弃
9.19.1 HTTP 到 gRPC 的网关路由映射、JSON 转码、状态码与错误体
9.29.2 BFF 聚合与裁剪并行扇出、超时合并、字段裁剪
9.39.3 错误与超时映射gRPC 码到 HTTP 码、deadline 到 504、错误详情

第四部分:安全与可观测性(第 10–12 章)

节文章核心内容
10.110.1 TLS 与 mTLS证书与 SAN、TlsServerCredentials、客户端校验
10.210.2 Token 传播与校验Bearer 透传、签名与过期、Context.Key
10.310.3 授权模型与租户隔离角色/属性授权、租户边界、越权拦截
11.111.1 指标口径与 Prometheus 文本计数器/直方图、分位口径、文本暴露格式
11.211.2 结构化日志与 traceparent请求 ID、W3C traceparent、日志字段规范
11.311.3 追踪、采样与 exemplarspan 结构、采样策略、指标到追踪的跳转
12.112.1 API 版本策略路径/proto 包/metadata 三种版本口径
12.212.2 灰度路由与流量切分标签路由、百分比切分、灰度观测与回退
12.312.3 契约测试与回滚schema 快照比对、兼容性门禁、回滚判据

第五部分:容量、演练与验收(第 13–15 章)

节文章核心内容
13.113.1 故障模型与爆炸半径故障分类、依赖图、爆炸半径与止损顺序
13.213.2 注入实现与开关延迟/错误/中断注入、按比例触发与开关
13.313.3 演练设计与复盘演练剧本、观测点、停止条件与复盘模板
14.114.1 容量模型与 Little’s law并发、QPS、时延的关系与余量系数
14.214.2 压测剖面与瓶颈定位阶梯/尖峰/长稳剖面、CPU/GC/连接数定位
14.314.3 成本、扩缩容与预算单请求成本、扩容阈值、预算与容量计划
15.115.1 链路架构与边界linkd-v3 与 libraryd 的职责、四模块边界
15.215.2 联调、验收清单与故障注入端到端联调、验收清单、注入场景与通过判据
15.315.3 运行手册与复盘值班手册、告警处置、容量与发布复盘

附录

节文章核心内容
A附录 A 通信 API 速查ManagedChannel、Server、Stub、Metadata、Status 常用方法
B附录 B 诊断与压测命令grpcurl、ss/lsof、JFR、压测与证书命令

三卷衔接

实验口径

全部文章 game Indie Java golang Books 客户端开发 Minigame Saas rust Python