什么是RPC?
RPC是解决进程间通信的一种方式。
一次RPC调用,本质就是服务调用者和服务提供者之间的一次网络信息交换的过程。
服务调用者通过网络IO发送一条请求消息,服务提供者接收并解析,处理完相关的业务逻辑之后,
再发送一条响应消息给服务调用者,服务调用者接收并解析响应消息,
处理完相关的响应逻辑,一次RPC调用就结束了。
用一句话说就是:网络通信是整个RPC调用过程中的基础。
RPC是用来解决两个应用间的通信,而网络是两台机器之间的桥梁。
只有架好了桥梁,我们才能把请求数据从一端传输到另外一端。
常见的网络IO模型
既然说到了网络通信,就不得不提一下网络IO模型。
两台PC机之间的网络通信,其实就是两台PC机对网络IO的操作。
那么都有哪些网络IO模型呢?
- 同步阻塞IO (BIO)
- 同步非阻塞IO (NIO)
- IO多路复用
- 异步非阻塞IO (AIO)
其实,最常用的就是同步阻塞IO和IO多路复用,并且只有AIO是异步IO,其他都是同步IO。
阻塞IO
比如我们去饭店吃饭,我们到了饭店,服务员给我们一个菜单,我们开始点餐,但是我们要一直等啊等,等菜做好了,服务员会把菜端出来,我们才能开始吃!
先写到这里,后续,我们再一起精进学习,谢谢大家!