Netty实战 -- 使用Netty实现分布式框架Dubbo RPC

RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。

常见的RPC框架有: 比较知名的阿里Dubbo、Google的GRPC、Go的RPCX、Apache的Thrift,SpringCloud

在这里插入图片描述

1.1 RPC基本原理


两个或多个应用程序都分布在不同的服务器上,它们之间的调用都像是本地方法调用一样

示意图

在这里插入图片描述

RPC两个核心模块:序列化和通讯

1.2 RPC执行流程


在RPC中,Client叫做服务消费者,Server叫做服务提供者

RPC调用流程说明

  1. 服务消费方(client),以本地调用方式调用服务

  2. client stub 接收到调用后负责将方法、参数等封装成能够进行网络传输的消息体

  3. client stub 将消息进行编码并发送到服务器

  4. server stub 收到消息后进行解码

  5. server stub 根据解码结果调用本地API

  6. 本地服务 执行并返回结果给 server stub

  7. server stub 将返回结果导入进行编码并发送至消费方

  8. client stub 接收到数据进行解码

  9. 服务消费方得到结果

RPC的目标就是将2~8的步骤封装起来,用户无需关注这些细节,可以像调用本地方法一样即可完成远程服务调用

图解

在这里插入图片描述

二、什么是代理模式?

=============================================================================

代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。

Java中代理模式分为静态代理动态代理模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值