java架构师指南:什么是rpc

    RPC的全名是“RemoteProcedureCall”,它是一种进程间通信方法。     它允许程序在另一个地址空间(通常在共享网络的另一台机器上)中调用过程或函数,而无需程序员明确编码远程调用的细节。...

    RPC的全名是“RemoteProcedureCall”,它是一种进程间通信方法。

    它允许程序在另一个地址空间(通常在共享网络的另一台机器上)中调用过程或函数,而无需程序员明确编码远程调用的细节。也就是说,无论是调用本地接口/服务还是远程接口/服务,编写的调用代码基本相同。

attachments-2020-09-Mq3W1RIc5f744242afee8.jpg

    例如,两个服务器A和B。一个应用程序部署在服务器A上。如果要调用服务器B上该应用程序提供的功能或方法,则由于它不在内存空间中而无法直接调用。此时,您可以通过传递RPC框架的实现解决

    restful、soap、rpc

  (1)RESTful是一种框架设计风格,它提供设计原则和约束,而不是框架。满足这些约束和原则的应用程序或设计是RESTful框架或服务。

  (2)SOAP,简单对象访问协议是一种数据交换协议规范,是一个轻量,简单,基于XML的协议规范。SOAP协议与HTTP协议相同,后者是基础通信协议,但是请求数据包的格式不同。SOAP数据包为XML格式。

    SOAP消息基于xml,并封装为符合http协议。因此,它符合任何路由器,防火墙或代理服务器的要求。

    soap可以用任何语言完成,只要发送正确的soap请求,基于soap的服务就可以在任何平台上正常使用而无需修改。

 (3)RPC通过参数传递从一台计算机(客户端)调用另一台计算机(服务器)上的函数或方法(统称为服务),并获得返回的结果。

    RPC将隐藏底层的通信详细信息(无需直接处理Socket通信或Http通信)

    RPC是一个请求响应模型。客户端发起请求,服务器返回响应(类似于Http的工作方式)

    RPC以调用远程函数(或方法)的形式使用,例如调用本地函数(或方法)。

    rpc远程调用框架

    几种比较典型的RPC的实现和调用框架。

    (1)RMI实现,利用java.rmi包实现,基于Java远程方法协议(JavaRemoteMethodProtocol) 和java的原生序列化。

    (2)Hessian,是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。基于HTTP协议,采用二进制编解码。

    (3)thrift是一种可伸缩的跨语言服务的软件框架。thrift允许你定义一个描述文件,描述数据类型和服务接口。依据该文件,编译器方便地生成RPC客户端和服务器通信代码。

    (4)SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选。

推荐阅读:java架构师指南之架构师的工作流程

  • 发表于 2020-09-30 16:33
  • 阅读 ( 210 )
  • 分类:技术干货

0 条评论

请先 登录 后评论
JAVA Q&A
JAVA Q&A

173 篇文章

作家榜 »

  1. JAVA Q&A 173 文章
  2. 江南 1 文章
  3. 伯乐 0 文章
  4. 孤存 0 文章
  5. q21164340 0 文章
  6. 赫敏12 0 文章
  7. 子牙 0 文章
  8. 赫敏 0 文章