概念
RPC解决了分布式系统中服务之间调用的问题。
与HTTP对比
RPC基于TCP/IP协议,HTTP服务基于HTTP协议,HTTP协议是在传输层协议TCP之上的,所以RPC的执行效率更高,而HTTP开发迭代会更快。
适用场景
RPC服务比较多运用于接口繁多的大型分布式系统中,因为在接口非常多的情况下,RPC框架的好处就显示出来了,首先就是长链接,不必每次通信都要像http一样去3次握手,减少了网络开销。
四个组件
-
Client(服务调用方)
-
Client Stub(客户端存根,将客户端请求打包成网络消息,通过网络远程发送给服务方)
-
Server(服务提供者)
-
Server Stub(服务端存根,接收客户端发送过来的消息,将消息解包,并调用本地的方法)
开源的RPC框架
- Google的gRPC
- Facebook的Thrift
- 阿里的Dubbo