加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

最普通的说话讲清晰RPC和HTTP

发布时间:2019-06-21 20:23:35 所属栏目:教程 来源:航天智造
导读:跟着企业 IT 处事的不绝成长,单台处事器逐渐无法遭受用户日益增添的哀求压力时,就必要多台处事器连系起来组成「处事集群」配合对外提供处事。同时营业处事会跟着产物需求的增多越来越肿,架构上必需举办处事拆分,一个完备的大型处事会被打散成许多许多
副问题[/!--empirenews.page--]

跟着企业 IT 处事的不绝成长,单台处事器逐渐无法遭受用户日益增添的哀求压力时,就必要多台处事器连系起来组成「处事集群」配合对外提供处事。同时营业处事会跟着产物需求的增多越来越肿,架构上必需举办处事拆分,一个完备的大型处事会被打散成许多许多独立的小处事,每个小处事会由独立的历程去打点来对外提供处事,这就是「微处事」。

当用户的哀求到来时,我们必要将用户的哀求分手到多个处事去各自处理赏罚,然后又必要将这些子处事的功效汇总起来泛起给用户。那么处事之间该行使何种方法举办交互就是必要办理的焦点题目。RPC 就是为办理处事之间信息交互而发现和存在的。

什么是 RPC ?

RPC (Remote Procedure Call)即长途进程挪用,是漫衍式体系常见的一种通讯要领,已经有 40 多年汗青。当两个物理疏散的子体系必要成立逻辑上的关联时,RPC 是牵线搭桥的常见技妙本领之一。除 RPC 之外,常见的多体系数据交互方案尚有漫衍式动静行列、HTTP 哀求挪用、数据库和漫衍式缓存等。

最普通的说话讲清晰RPC和HTTP

个中 RPC 和 HTTP 挪用是没有颠末中间件的,它们是端到端体系的直接数据交互。HTTP 挪用着实也可以当作是一种非凡的 RPC,只不外传统意义上的 RPC 是指长毗连数据交互,而 HTTP 一样平常是指即用即走的短链接。

RPC 在我们熟知的各类中间件中都有它的身影。Nginx/Redis/MySQL/Dubbo/Hadoop/Spark/Tensorflow 等重量级开源产物都是在 RPC 技能的基本上构建出来的,我们这里说的 RPC 指的是广义的 RPC,也就是漫衍式体系的通讯技能。RPC 在技能中的职位比如我们身边的氛围,它无处不在,可是又有许多人基础不知道它的存在。

Nginx 与 RPC

Ngnix 是互联网企业行使最为普及的署理处事器。它可觉得后端漫衍式处事提供负载平衡的成果,它可以将后端多个处事地点聚合为单个地点来对外提供处事。如图,Django 是 Python 技能栈最风行的 Web 框架。

最普通的说话讲清晰RPC和HTTP

Nginx 和后端处事之间的交互在本质上也可以领略为 RPC 数据交互。大概你会争冲突 Nginx 和后端处事之间行使的是 HTTP 协议,走的是短毗连,严酷上不能算是 RPC 挪用。

最普通的说话讲清晰RPC和HTTP

你说的没错,不外 Nginx 和后端处事之间还可以走其余的协议,好比 uwsgi 协议、fastcgi 协议等,这两个协议都是回收了比 HTTP 协议越发节减流量的二进制协议。如上图所示,uWSGI 是闻名的 Python 容器,行使它可以启动 uwsgi 协议的处事器对外提供处事。

uwsgi 通信协议在 Python 说话系统里行使很是广泛,假如一个企业内部行使 Python 说话栈搭建 Web 处事,那么他们在出产情形陈设 Python 应用的时辰不是在行使 HTTP 协议就是在行使 uwsgi 协议来和 Nginx 之间成立通信。

最普通的说话讲清晰RPC和HTTP

Fastcgi 协议在 PHP 说话系统里非经常见,Nginx 和 PHP-fpm 历程之间一样平常较常行使 Fastcgi 协议举办通信。

Hadoop 与 RPC

在大数据技能规模,RPC 也占有了很是重要的职位。大数据规模普及应用了很是多的漫衍式技能,漫衍式意味着节点的物理断绝,断绝意味着必要通讯,通讯意味着 RPC 的存在。大数据必要通讯的量比营业体系越发复杂,以是在数据通讯优化上做的更深。

最普通的说话讲清晰RPC和HTTP

好比最常见的 Hadoop 文件体系 hdfs,一样平常包罗一个 NameNode 和多个 DataNode,NameNode 和 DataNode 之间就是通过一种称为 Hadoop RPC 的二进制协议举办通信。

TensorFlow 与 RPC

在人工智能规模,RPC 也很重要,闻名的 TensorFlow 框架假如必要处理赏罚上亿的数据,就必要依赖漫衍式计较力,必要集群化,当多个漫衍式节点必要集团伶俐时,就必需引入 RPC 技能举办通信。Tensorflow Cluster 的 RPC 通信框架行使了 Google 内部自研的 gRPC 框架。

最普通的说话讲清晰RPC和HTTP

HTTP 挪用着实也是一种非凡的 RPC

HTTP1.0 协议时,HTTP 挪用还只能是短链接挪用,一个哀求往返之后毗连就会封锁。HTTP1.1 在 HTTP1.0 协议的基本长举办了改造,引入了 KeepAlive 特征可以保持 HTTP 毗连长时刻不绝开,以便在统一个毗连之长举办多次持续的哀求,进一步拉近了 HTTP 和 RPC 之间的间隔。

最普通的说话讲清晰RPC和HTTP

当 HTTP 协议进化到 2.0 之后,Google 开源了一个成立在 HTTP2.0 协议之上的通讯框架直接取名为 gRPC,也就是 Google RPC,这时 HTTP 和 RPC 之间已经没有很是明明的边界了。以是在后文我们不再明晰夸大 RPC 和 HTTP 哀求挪用之间的渺小区别了,直接同一称之为 RPC。

最普通的说话讲清晰RPC和HTTP

HTTP VS RPC (平凡话 VS 方言)

HTTP 与 RPC 的相关就比如平凡话与方言的相关。要举办跨企业处事挪用时,每每都是通过 HTTP API,也就是平凡话,固然服从不高,可是通用,没有太多雷同的进修本钱。可是在企业内部照旧 RPC 越发高效,统一个企业公用一套方言举办高服从的交换,要比通用的 HTTP 协议来交换越发节减资源。整此中国有很是多的方言,正若有许多的企业内部处事各有本身的一套交互协议一样。固然国度一向在倡导行使平凡话交换,可是这么多年已往了,你回一趟老家探个亲什么的就会发明身边的人照旧风行说方言。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读