RPC的实现方式

Posted 大魏分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RPC的实现方式相关的知识,希望对你有一定的参考价值。

微服务两大难点:治理和拆分。


Nacos是对DDD的落地。Nacos目前可以做到10万级别的实例注册支撑。


Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。


开发框架选择。需要注意的是,RPC本身是可以基于TCP或者HTTP的。在下图中,我们使用RPC over TCP。

RPC的实现方式

RPC的定义如下,它的核心是向调用本地函数一样调用远程函数。

RPC的实现方式


RPC理论模型如下,包含五个角色:

RPC的实现方式

我们查看RPC调用过程,其中第一步是判断是否是本地调用。

RPC的实现方式

RPC理论模型调用路径:

RPC的实现方式

RPC的实现方式

RPC的协议组成:协议头、消息体、编解码。


RPC的协议头是定长的:

RPC的实现方式

RPC的协议体是变长的:

RPC的实现方式


RPC的序列化如下:

RPC的实现方式

RPC的I/O模型。RPC I/O模型最终是对OS I/O的封装。

RPC的I/O模型中,用的最多的还是I/O多路复用。

RPC的实现方式

RPC的实现方式

RPC的实现方式

RPC的实现方式

国内外的开源RPC框架如下:

RPC的框架分类。


以上是关于RPC的实现方式的主要内容,如果未能解决你的问题,请参考以下文章

布道微服务_05RPC远程服务调用的实现

RPC服务使用HTTP实现一个RPC服务

一文带你实现RPC框架

springboot | Rabbitmq 实现RPC方式 远程同步调用

springboot | Rabbitmq 实现RPC方式 远程同步调用

分布式架构的基石,简单的 RPC 框架实现(JAVA)