当前位置: 首页 > news >正文

如何加强英文网站建设seo查询系统源码

如何加强英文网站建设,seo查询系统源码,高端上海网站设计公司,wordpress界面主题文章目录RPC是什么RPC和HTTP的关系和区别[附]关于REST论文中提到的"HTTP不是RPC"重点参考 凤凰架构-远程过程调用 既然有HTTP为什么还要有RPC? RPC是什么 RPC(Remote Procedure Call):即远程过程调用,目的是为了让计算机能够跟调用…

文章目录

  • RPC是什么
  • RPC和HTTP的关系和区别
  • [附]关于REST论文中提到的"HTTP不是RPC"


重点参考

凤凰架构-远程过程调用
既然有HTTP为什么还要有RPC?


RPC是什么

RPC(Remote Procedure Call):即远程过程调用,目的是为了让计算机能够跟调用本地方法一样去调用远程方法

RPC本身并不是一个具体的协议,而是对不同应用程序间通信的一种描述,一种通信思想。它可以使用很多技术来实现,有大量不同底层实现的RPC库(如早期的DCOM、CORBA,现在的dubbo、protobuf、grpc等等)。

RPC通常是基于TCP/UDP协议的,传输效率高、可定制性强、数据包小。

以下是一个远程过程调用的核心流程。RPC包含的就是从User stubServer stub的过程,包括了打包/解包、序列化/反序列化、发送/接收等通讯细节
在这里插入图片描述


RPC和HTTP的关系和区别

很多人喜欢把RPC与HTTP作比较,因为HTTP是web领域最常用的网络通信协议,而RPC也是进行网络通信的方法,并且有一些RPC库还是基于HTTP实现的。在大多数人看来,HTTP已经是比较万能的通信协议了,于是就对RPC的定位感到捉摸不透。

正如开头所说,RPC本身并不是一个具体的协议,而是一种设计,一种通信思想,通讯协议只是其中一部分。
RPC跟HTTP不是对立面,RPC也可以使用HTTP作为通讯协议

TCP是70年代出来的协议,RPC是80年代出现的,HTTP是90年代才开始流行的。
RPC比HTTP出现的更早。一直以来,都有大量的不同底层实现的RPC库(如早期的DCOM、CORBA,现在的Thrift、Dubbo、Protobuf、gRPC等等)。

但也正因为RPC仅仅是一种思想,所以互联网厂商并没有一种统一的协议可以使用。随着Web的发展,浏览器为了能够与所有的网站服务通信,就需要一个统一的通信标准,于是HTTP就成为了这个通信标准。而且不同于RPC"面向过程"的思想,HTTP以"面向资源"的思想构建Web服务,并大获成功。

区别

  1. "服务发现"机制不同。要向某个服务器建立连接,需要知道它的ip和端口。找到服务对应的ip和端口的过程,就是服务发现。

    • HTTP 依靠DNS做服务发现。通过域名+DNS解析服务器的ip,默认80端口(如果要用其它端口,可以在服务端做反向代理)
      (由于DNS也是服务发现的一种,所以也有基于DNS做服务发现的组件,如CoreDNS)
    • RPC 一般会有中间件来保存服务的ip和端口,比如consul等"服务发现"中间件,甚至Redis等存储服务。
  2. 协议不同

    • HTTP服务基于HTTP协议,HTTP是应用层协议,是位于TCP协议之上的。相比于TCP使用起来更方便,但效率更低。
      另外,HTTP1.1之前是短连接,1.1之后默认是长连接,HTTP2.0又在前者的基础上做了很多改进,性能可能比某些RPC协议还要好。
    • RPC通常基于TCP或UDP协议,效率更高,但使用起来更复杂。
      TPC是长连接的,UDP是无连接的。
  3. 传输的内容不同

    • HTTP 的设计目的是应用于Web服务,有固定的包格式,包括消息头、消息体。消息体的数据格式以字符串、图片音频文件为主,定制性弱。虽然数据最终都是以二进制的形式传输,但HTTP是应用层协议,只能使用接口提供的的固定的这些数据类型
    • RPC 大都是基于TCP/UDP的,包格式由使用者定义,定制型更强有效数据占比更高,且存储的直接就是二进制数据,用户想要传输什么,转为字节放入即可。
  4. 应用场景不同

    • HTTP多用于B/S,RPC多用于C/S。但现在已经分的没这么清了,因为B/S和C/S在融合,很多软件同时支持多端(比如百度云盘,即支持网页端,还支持手机端和PC端)
    • 现在HTTP多用于Web服务端与客户端的通信;RPC多用于服务器各个微服务之间的通讯,以及对延迟和带宽有要求的游戏通信
    • HTTP虽然方便,但性能较低。对性能有要求时,就需要直接使用RPC实现通信目的,加快传输效率,例如分布式服务间、游戏C/S端的高效、低延迟的通信需求。

[附]关于REST论文中提到的"HTTP不是RPC"

摘自REST论文
在这里插入图片描述

如果想了解这个问题,不得不了解REST。关于REST,我在《【REST系列】详解REST架构风格》中有详细的解释

简单说。HTTP和RPC都是实现网络通信的方式,只是它们对待通信的理解方式有所不同:根据REST的思想得知,HTTP认为的通信是对资源的操作,而RPC认为的通信则是调用远程函数。

更简单地说。HTTP的设计是面向资源的,而RPC的本质是面向过程的。所以严格来说,HTTP确实不属于RPC。
平时我们只会觉得 它们都能传输我们想要传输的数据,而不会深究这些核心思想上的区别,这也无可厚非。

在REST思想中,Web通信实际上是对资源的操作。REST流行之前,Web通信还是以SOAP为主,而SOAP其实就是一个RPC的实现。从最终结果来看,HTTP"面向资源"的思想 在Web领域是成功的。

面向资源和面向过程,就像编程语言中的面向对象和面向过程。HTTP在Web领域的成功,并不能说明RPC思想不好,只能说HTTP比RPC更适合用于Web。它们各有优势,我们应当结合实际情况按需使用

http://www.mmbaike.com/news/111681.html

相关文章:

  • 广州市建委官方网站武汉网站设计十年乐云seo
  • 轻松筹 的网站价格做百度推广的效果
  • 网站开发成本包括引流推广犯法吗
  • 上蔡做网站如何优化培训体系
  • 全国工程信息查询平台seo标签优化
  • 做数据权威的网站搜狗官方网站
  • 2019年的阜南县建设修路网站百度竞价排名规则及费用
  • 网站app开发哪家好最好的网络推广方式
  • 服装网站建设策划书的基本结构站长素材网
  • 千图网免费海报素材图库常见的系统优化软件
  • 网站建设团队武汉如何做网页设计
  • 全国建设部网站证书查询上海疫情突然消失的原因
  • 本科专业建设规划西安seo代运营
  • 怎样建设小游戏网站seo快速排名软件网站
  • 手机网站建设ppt昆明seo
  • 移动商城型网站开发产品软文范例
  • 织梦cms手机网站源码深圳搜索引擎优化推广
  • 佛山h5网站公司软文技巧
  • 那种登录才能查看的网站怎么做优化自己的网站怎么样推广优化
  • 温州做阀门网站公司百度竞价代理商
  • 网站建设发展情况搜狗官网
  • 怎么做自己独立的网站济南做网站公司哪家好
  • 广西南宁建设厅网站嘉兴seo计费管理
  • 大同市政府门户网站站长之家ip地址归属查询
  • 网站建设的能力大概需要多少钱
  • 网站建设学习网微信小程序开发费用一览表
  • 企业网站写好如何发布会计培训班要多少钱一般要学多久
  • 企业网站建设御彩云百度关键词挖掘查排名工具
  • 电脑哪里做ppt下载网站市场营销方案范文
  • 淘宝优惠券网站用什么软件做网站建设制作模板