实现 RPC 远程服务调用
- 在单体应用时,一次服务调用发生在同一台机器上的同一个进程内部,也就是说调用发生在本机内部,因此也被叫作本地方法调用。
- 在进行服务化拆分之后,服务提供者和服务消费者运行在两台不同物理机上的不同进程内,它们之间的调用相比于本地方法调用,可称之为远程方法调用,简称 RPC(Remote Procedure Call)。
- 服务消费者叫作客户端,服务提供者叫作服务端,两者通常位于网络上两个不同的地址,要完成一次 RPC 调用,就必须先建立网络连接。
- 建立连接后,双方还必须按照某种约定的协议进行网络通信,这个协议就是通信协议。
- 双方能够正常通信后,服务端接收到请求时,需要以某种方式进行处理,处理成功后,把请求结果返回给客户端。
- 为了减少传输的数据大小,还要对数据进行压缩,也就是对数据进行序列化。
客户端和服务端如何建立网络连接
- 客户端和服务端之间基于 TCP 协议建立网络连接最常用的途径有两种。
- HTTP 通信
- HTTP 通信是基于应用层 HTTP 协议的,而 HTTP 协议又是基于传输层 TCP 协议的。
- 一次 HTTP 通信过程就是发起一次 HTTP 调用,而一次 HTTP 调用就会建立一个 TCP 连接,经历一次“三次握手”的过程来建立连接,完成请求后&#
- HTTP 通信