RPC原理

RPC协议

数据头,一般用于身份识别

消息体主要是请求的业务参数信息和扩展属性。

一次完整的RPC调用包含下面几个调用步骤:

1、调用方持续把请求参数对象序列化成二进制数据,

2、服务提供方从TCP通道里面接收二进制数据

3、根据RPC协议,服务提供方将二进制数据分割出不同的请求数据,经过反序列化将二进制数据逆向还原出请求对象,找到对应的实现类,完成真正的方法调用。

4、然后服务提供方再把结果序列化后,会写到对应的TCP通道里。

5、调用方获取到应答的数据包后,再反序列化成应答对象。

2、RPC通信流程中核心组成部分包括协议,序列化和反序列化,以及网络通信。

NIO比BIO提高了服务端工作线程的利用率,并增加了一个调度者,来实现socket链接与socket数据读写之间的分离。

相关推荐
z10_144 小时前
动态住宅IP和静态住宅IP哪个更好
网络·tcp/ip·web安全
坚定信念,勇往无前6 小时前
基于rsync,局域网内,无需密码互传
服务器·网络·负载均衡
一条懒鱼6666 小时前
Ansible之Playbook简单应用
网络·ansible
阿巴~阿巴~7 小时前
IPv4地址转换函数详解及C++容器安全删除操作指南
linux·服务器·c++·网络协议·算法·c++容器安全删除操作·ipv4地址转换函数
百***67037 小时前
Node.js实现WebSocket教程
websocket·网络协议·node.js
stand_forever8 小时前
PHP客户端调用由Go服务端GRPC接口
rpc·golang·php
SKYDROID云卓小助手8 小时前
无人设备遥控器之差分信号抗干扰技术
网络·stm32·单片机·嵌入式硬件·算法
YJlio8 小时前
ListDLLs & Handle 学习笔记(8.11):谁注入了 DLL?谁占着文件不放?一篇教你全搞定
网络·笔记·学习
风车带走过往9 小时前
Windows10 使用 dynv6 + ddns-go 实现 IPv6 固定域名远程访问指南
网络
爱奥尼欧9 小时前
【Linux笔记】网络部分——NAT-代理-网络穿透
linux·网络·笔记