
微服务与远程方法调用的引入
所谓 RPC 指的是 Remote Procedure Call,即远程方法调用(也叫远程服务调用、远程过程调用),这也是微服务架构的前导篇,因为微服务里面远程服务之间就是通过 RPC 协议进行数据传输的。
所谓 RPC 指的是 Remote Procedure Call,即远程方法调用(也叫远程服务调用、远程过程调用),这也是微服务架构的前导篇,因为微服务里面远程服务之间就是通过 RPC 协议进行数据传输的。
Web 请求一般都是 HTTP 请求,而 HTTP 协议又是基于 TCP 的,所以,我们主要探讨如何让服务器同时处理更多 TCP 连接请求。
位于应用层的应用程序在基于 TCP 协议或 UDP 协议进行通信时,需要用到操作系统提供的类库,这种类库一般称为 API(Application Programming Interface,应用编程接口)。
在建立 TCP 连接的同时,也可以确定发送数据包的单位,我们可以将其称为「最大消息长度」(MSS,Maximum Segment Size),最理想的情况下,最大消息长度正好是 IP 中不会被分片处理的最大数据长度。
TCP 提供面向有连接的通信传输,面向有连接是指在数据通信开始之前先做好通信两端之间的准备工作。 TCP 的连接建立,我们常常称为三次握手。三次握手的目的是为了确保对连接双方来说,链路都是通的。 三次握手除了双方建立连接外,主要还是为了沟通一件事情,就是 TCP 包序列号的问题。每个连接都要有不同的序列号,这个序列号的起始序号是随着时间变化的。
TCP 协议提供的是面向连接的可靠性传输,比 UDP 协议要复杂很多。