SpringBoot-37-RPC概述

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 SpringBoot-37-RPC概述,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

11.2 RPC概述

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

  • 也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。为什么要用RPC呢?就是无法在一个进程内,甚至一个计算机内通过本地调用的方式完成的需求,比如不同的系统间的通讯,甚至不同的组织间的通讯,由于计算能力需要横向扩展,需要在多台机器组成的集群上部署应用。RPC就是要像调用本地的函数一样去调远程函数;

  • 网络不可靠给分布式带来的一些问题。

  • 阅读推荐:https://www.jianshu.com/p/2accc2840a1b

在这里插入图片描述

  • 远程过程调用时序图

在这里插入图片描述

  • RPC的两个核心模块:通讯(http/RPC)、序列化(网络间将对象数据转换为二进制传输)
  • RPC要解决的两个问题
    • 解决分布式系统中,服务之间的调用问题。
    • 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。

下一篇:SpringBoot-38-Dubbo概述

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

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/123834.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!