RPC协议了解

RPC协议了解1.RPC概述RPC(RemoteProcedureCallProtocol)远程过程调用协议。通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个过程或函数,就像调用本地应用程序中的一样。正确的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。2.RPC特点:2.1)RPC是协议:协议意味着规范。目前典型的RPC实现包括Dubbo、Thrift、Herrty等。但这些实现往往都会附加其他重要功能,例如Dubbo还包括服务管理、访问权限

大家好,又见面了,我是你们的朋友全栈君。

1.RPC概述
RPC(Remote Procedure Call Protocol)远程过程调用协议。
通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个过程或函数,就像调用本地应用程序中的一
样。
正确的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

2.RPC特点:
2.1)RPC是协议:协议意味着规范。目前典型的RPC实现包括Dubbo、Thrift、Herrty等。但这些实现往往都会附加其他重要功能
,例如Dubbo还包括服务管理、访问权限管理等功能。
2.2)网络协议和网络IO模型对其透明:既然RPC的客户端认为自己是在调用本地对象。那么传输层使用的是TCP/
UDP还是http协议,又或者是一些其他的网络协议它就不需要关心了。既然网络协议对其透明,那么调用过程中,使用的是哪一种网络IO模型调用者也不需要关心。
2.3)信息格式对其透明:远程调用过程中,需要传递一些参数,并且会返回一个调用结果。至于这些参数会以某种信息格式传递
给网络上的另一台计算机,这个信息格式是怎样构成的,调用方是不需要关心的。
2.4)跨语言能力:对于调用方来说,不知道也无需知道远程的程序使用的是什么语言运行的,无论服务器方使用的是什么语言,
本次调用都应该成功,并且返回值也应该按照调用方程序语言所能理解的形式描述。

3.RPC原理
3.1)实现RPC的程序包括5个部分:User、User-stub、RPCRuntime、Server-stub、Server。
3.2)user:就是发起RPC调用的client,当user想发起一个远程调用时,它实际是通过本地调用user-stub。user-stub负责将
调用的接口、方法和参数通过约定的协议规范进行编码并通过本地的RPCRuntime实例传输到远程的实例。远程RPCRuntime实例收到请求后交给server-stub进行解码后发起本地端调用,调用结果再返回给user端。
3.3)stub:为屏蔽客户调用远程主机上的对象,必须提供某种方式来模拟本地对象,这种本地对象称为存根(stub),存根负责
接收本地方法调用,并将它们委派给各自具体实现对象。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144241.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月19日 下午11:00
下一篇 2022年5月19日 下午11:00


相关推荐

  • 语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖

    语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖文章目录语句覆盖判定覆盖条件覆盖条件判定覆盖组合覆盖逻辑覆盖率 语句覆盖 条件覆盖 判定覆盖 条件 判定覆盖 组合覆盖 路径覆盖语句覆盖基本思想 设计用例 使程序中的每个可执行语句至少执行一次 每个可执行语句 每个语句 那么下图中执行为 1 2 gt 3 gt 4 优点 可以很直观的从源代码获得用例 无需细分每条判定表达式缺点 由于这种测 条件覆盖 判定覆盖 条件 判定覆盖 组合覆盖 路径覆盖语句覆盖基本思想 设计用例 使程序中的每个可执行语句至少执行一次 每个可执行语句 每个语句 那么下图中执行为 1

    2026年3月20日
    2
  • WebService中的WSDL详细解析

    WebService中的WSDL详细解析WebService 中的 WSDL 详解有人在 WebService 开发的时候 特别是和第三方有接口的时候 走的是 SOAP 协议 然后用户 或后台 给你一个 WSDL 文件 或网址 说按照上面的进行适配 这时就要对 WebService 的 WSDL 有一定的理解 本文将对 WSDL WebService 描述语言 进行详细总结 WSDL WebServicesD

    2026年3月16日
    2
  • matlab 中产生高斯白噪声

    matlab 中产生高斯白噪声一 matlab 里和随机数有关的函数 1 rand 产生均值为 0 5 幅度在 0 1 之间的伪随机数 2 randn 产生均值为 0 方差为 1 的高斯白噪声 3 randperm n 产生 1 到 n 的均匀分布随机序列 4 normrnd a b c d 产生均值为 a 方差为 b 大小为 cXd 的随机矩阵 randrand n 生成 0 到 1 之间的 n 阶随机数方阵 rand m n

    2026年3月18日
    2
  • c++利用mutex(互斥量)实现多线程「建议收藏」

    c++利用mutex(互斥量)实现多线程「建议收藏」C++使用内核对象互斥体(Mutex)实现线程同步锁,当两个线程共同访问一个共享资源时,Mutex可以只向一个线程授予访问权。下面的例子模拟了售票系统,定义了两个售票线程///ConsoleApplication1.cpp:定义控制台应用程序的入口点。////mutex#include”stdafx.h”#include<stdio.h>#include<windows.h>#include<process.h>void__cdecl.

    2022年6月26日
    29
  • MATLAB曲线拟合工具箱(cftool)介绍(完结)

    MATLAB曲线拟合工具箱(cftool)介绍(完结)本文通过实例对 MATLAB 曲线拟合工具箱进行详细讲解 帮助大家更容易理解曲线拟合工具箱 cftool 目录 1 实例介绍 2 进入系统辨识工具箱界面 3 加载数据 4 加载数据 5 选择拟合曲线的类型 1 实例介绍已知 x 00 20 50 80 91 31 41 92 12 22 52 62 93 0 y 1 27792 15962 73112 59742 40681 62151 41780 99550 96660 88370 96391 0

    2026年3月19日
    2
  • Win10 桌面美化

    Win10 桌面美化Win10桌面美化最近发现了几款Win10界面美化的软件,看了看别人家的Win10操作界面,瞬间觉得自己的low了,关键是赏心悦目啊!废话不多说,先看看我原来桌面和美化后的桌面对比图原始桌面美化桌面1.安装RocketDockRocketDock可以提供类似macos的操作系统图标特效,打开安装包进行安装,完毕后启动得到效果如下:可以发现切换效果与mac类似,他默认的主题是C…

    2022年4月25日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号