# SUMMARY * [简介](./README.md) * [开篇词 | 别老想着怎么用好RPC框架,你得多花时间琢磨原理](./docs/199649.md) * [01 | 核心原理:能否画张图解释下RPC的通信流程?](./docs/199650.md) * [02 | 协议:怎么设计可扩展且向后兼容的协议?](./docs/199651.md) * [03 | 序列化:对象怎么在网络中传输?](./docs/202779.md) * [04 | 网络通信:RPC框架在网络通信上更倾向于哪种网络IO模型?](./docs/204696.md) * [05 | 动态代理:面向接口编程,屏蔽RPC处理流程](./docs/205910.md) * [06 | RPC实战:剖析gRPC源码,动手实现一个完整的RPC](./docs/206281.md) * [07 | 架构设计:设计一个灵活的RPC框架](./docs/207137.md) * [08 | 服务发现:到底是要CP还是AP?](./docs/208171.md) * [09 | 健康检测:这个节点都挂了,为啥还要疯狂发请求?](./docs/208253.md) * [10 | 路由策略:怎么让请求按照设定的规则发到不同的节点上?](./docs/209732.md) * [11 | 负载均衡:节点负载差距这么大,为什么收到的流量还一样?](./docs/210893.md) * [12 | 异常重试:在约定时间内安全可靠地重试](./docs/211261.md) * [13 | 优雅关闭:如何避免服务停机带来的业务损失?](./docs/211273.md) * [14 | 优雅启动:如何避免流量打到没有启动完成的节点?](./docs/213967.md) * [15 | 熔断限流:业务如何实现自我保护?](./docs/213998.md) * [16 | 业务分组:如何隔离流量?](./docs/215668.md) * [答疑课堂 | 基础篇与进阶篇思考题答案合集](./docs/216772.md) * [17 | 异步RPC:压榨单机吞吐量](./docs/216803.md) * [18 | 安全体系:如何建立可靠的安全体系?](./docs/218523.md) * [19 | 分布式环境下如何快速定位问题?](./docs/219875.md) * [20 | 详解时钟轮在RPC中的应用](./docs/219903.md) * [21 | 流量回放:保障业务技术升级的神器](./docs/221604.md) * [22 | 动态分组:超高效实现秒级扩缩容](./docs/222485.md) * [23 | 如何在没有接口的情况下进行RPC调用?](./docs/223938.md) * [24 | 如何在线上环境里兼容多种RPC协议?](./docs/224116.md) * [结束语 | 学会从优秀项目的源代码中挖掘知识](./docs/226573.md) * [加餐 | 谈谈我所经历过的RPC](./docs/225573.md) * [加餐 | RPC框架代码实例详解](./docs/232320.md)