【RPC】RPC基础(四)网络通信

RPC核心原理

1. RPC基础

1.4 网络通信

常见的网络 IO 模型
  • 同步阻塞 IO (BIO)
  • 同步非阻塞 IO (NIO)
  • IO多路复用
  • 异步非阻塞 IO (AIO)
BIO

BIO 是最常见和简单的模型,Linux 中默认所有 Socket 都是阻塞的。一个线程处理一个 IO

流程:应用进程发起 IO,应用进程阻塞,系统内核等待数据,内核拷贝数据到内存,解除阻塞

NIO

非阻塞 IO 要求Socket 被设置为 NONBLOCK

流程:应用进程发起 IO,系统内核等待数据,等待期间无论是否有数据都返回,应用进程如未收到数据则继续发起请求

IO多路复用

一个线程处理多个 IO 请求

流程:多个 IO 注册在同一复用器,应用进程调用复用器,应用进程在所有请求收到数据前一直阻塞,系统内核等待数据,内核拷贝数据到内存,所有请求收到数据后解除阻塞

AIO

请求后等待通知后再重新请求数据

流程:应用进程发起 IO 并启动一个监听,系统内核等待数据,等待期间无论是否有数据都返回,内核数据准备好并通知应用进程,应用进程收到通知后再次发起请求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值