Java基础之《netty(30)—RPC调用流程分析》

news/2024/11/20 7:13:02/

一、RPC基本介绍

1、RPC(Remote Procedure Call)—远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序无需额外的为这个交互作用编程。

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

3、常见的RPC框架有:比较知名的如阿里的Dubbo、google的gRPC、go语言的rpcx、Apache的thrift,Spring的Spring Cloud(中的部分组件)。

二、RPC调用流程

1、RPC调用流程图

2、术语说明
在RPC中,Client叫服务消费者,Server叫服务提供者。

3、RPC调用流程说明
(1)服务消费方(client)以本地调用方式调用服务
(2)client stub接收到调用后负责将方法、参数等封装成能够进行网络传输的消息体
(3)client stub将消息进行编码并发送到服务端
(4)server stub收到消息后进行解码
(5)server stub根据解码结果调用本地的服务
(6)本地服务执行并将结果返回给server stub
(7)server stub将返回结果进行编码并发送至消费方
(8)client stub接收消息并进行解码
(9)服务消费方(client)得到结果

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


http://www.ppmy.cn/news/18795.html

相关文章

【LeetCode高频100题-3】冲冲冲(持续更新23.1.22)

文章目录62. 不同路径题意解法1 排列组合解法2 动态规划64. 最小路径和题意解法1 DFS(剪枝也超时)解法2 动态规划62. 不同路径 题意 一道数学题,排列组合/小学奥赛题。动态规划不是一般来解决最值问题的吗,这道题为什么会想到dp…

【SpringBoot6】HandlerInterceptor拦截器的使用 ——基础

HandlerInterceptor简介 拦截器大家都不陌生,最常用的登录拦截、或是权限校验、或是防重复提交、或是根据业务像12306去校验购票时间,总之可以去做很多的事情。 这里来介绍HandlerInterceptor的使用,从基本的使用、到自定义注解、最后到读取body中的流解…

Python基础学习二

if 语句 if 语法 每个条件后面,有个冒号:使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。在 Python 中没有 switch…case 语句,但在 Python3.10 版本添加了 match…case,功能也类似满足条件后要执行的语句&#x…

SQL注入现象

package com.bjpowernode.jdbc;import java.sql.*; import java.util.HashMap; import java.util.Map; import java.util.ResourceBundle; import java.util.Scanner; /*** 如果输入的用户名和密码是下面这样的,就会发生非注册人员登录的情况,叫做SQL注入…

PHP SimpleXML

PHP SimpleXML 处理最普通的 XML 任务,其余的任务则交由其它扩展处理。 什么是 PHP SimpleXML? SimpleXML 是 PHP 5 中的新特性。 SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。 与 DOM 或 Expat 解析器相比,SimpleXML …

第54章 SQL HAVING 子句教程

HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。 HAVING 子句可以让咱们筛选分组后的各组数据。 SQL HAVING 语法 SQL HAVING 语法 SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name o…

关于MVC/MVP/MVVM的一些错误认识

在 Android 开发中使用 MVP 和 MVVM 模式早已不是新鲜事了,各种 MVP/MVVM 相关的文章、开源库也已屡见不鲜,甚至是让人眼花撩乱,那么我为什么还要在这个早已被画满涂鸦的黑板上再来涂涂画画呢?是想彰显我的存在感吗?那…

linux系统中利用QT实现语音识别项目的操作方法

大家好,今天主要和大家分享一下,如何使用linux系统上的语音识别项目的操作方法与实现。 目录 第一:语音识别基本简介 第二:语音识别产品申请账号 第三:具体代码实现 第一:语音识别基本简介 AI音箱对传统…