服务框架的核心
- 大型服务框架的核心:RPC通信
- 微服务的核心是远程通信和服务治理
- 远程通信提供了服务之间通信的桥梁,服务治理提供了服务的后勤保障
- 服务的拆分增加了通信的成本,因此远程通信很容易成为系统瓶颈
- 在满足一定的服务治理需求的前提下,对远程通信的性能需求是技术选型的主要影响因素
- 很多微服务框架中的服务通信是基于RPC通信实现的
- 在没有进行组件扩展的前提下,Spring Cloud是基于Feign组件实现RPC通信(基于HTTP+JSON序列化)
- Dubbo是基于SPI扩展了很多RPC通信框架,包括RMI、Dubbo、Hessian等(默认为Dubbo+Hessian序列化)
性能测试
基于Dubbo:2.6.4,单一TCP长连接+Protobuf(响应时间和吞吐量更优),短连接的HTTP+JSON序列化
RPC通信
架构演化
无论是微服务、SOA、还是RPC架构,都是分布式服务架构,都需要实现服务之间的互相通信,通常把这种通信统称为RPC通信
概念
- RPC:Remote Process Call,远程服务调用ÿ