remote procedure call 远程过程调用
RPC协议(跨语言类)
- ONC RPC
 - (XML) SOAP
 - (JSON)RESTful
 - Hessian2
 
二进制传输性能好,难以跨语言;文本类的则相反;
模式演变
- 客户端服务器模式
 - 微服务
 
对RPC框架的要求
- 传输性能
 - 跨语言
 - 严谨且灵活(添加字段不需要重新编译发布程序)
 - 服务发现,服务治理(Dubbo | Spring Cloud)
 
GRPC
二进制序列化协议
- Protocol Buffers
 - .proto
 - 压缩效率很高
 
网络传输
- Java - Netty(高效的基于异步IO的网络传输框架) - 见netty-summary
 - 服务方法 - 单向RPC | 服务端流式RPC | 客户端流失RPC | 双向流式RPC
 
服务发现(Discovery Service)与治理
- 负载均衡 - LVS HAProxy Nginx
 - Envoy - GRPC
 - 配置 - listener | endpoint | cluster | route
 - 注册治理中心
 - 未来服务治理的趋势 - Service Mesh(基于Envoy)
 
注册治理中心
- https://mp.weixin.qq.com/s/IhPfssotldNWn9GF4Dx6qg - 腾讯注册中心演进及性能优化实践