Javaweb开发从入门到实战pdf

什么是 RPC?RPC原理是什么?

什么是 RPC?

RPC(Remote Procedure Call)—远程过程调用,它是一种经过网络从远程计算机程序上请求服务,而不须要了解底层网络技术的协议。好比两个不一样的服务 A、B 部署在两台不一样的机器上,那么服务 A 若是想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 固然能够,可是可能会比较慢并且一些优化作的并很差。 RPC 的出现就是为了解决这个问题。web

RPC原理是什么?

Javaweb开发从入门到实战pdf

  1. 服务消费方(client)调用以本地调用方式调用服务;
  2. client stub接收到调用后负责将方法、参数等组装成可以进行网络传输的消息体;
  3. client stub找到服务地址,并将消息发送到服务端;
  4. server stub收到消息后进行解码;
  5. server stub根据解码结果调用本地的服务;
  6. 本地服务执行并将结果返回给server stub;
  7. server stub将返回结果打包成消息并发送至消费方;
  8. client stub接收到消息,并进行解码;
  9. 服务消费方获得最终结果。

下面再贴一个网上的时序图:面试

Javaweb开发从入门到实战pdf

RPC 解决了什么问题?

从上面对 RPC 介绍的内容中,归纳来说RPC 主要解决了:让分布式或者微服务系统中不一样服务之间的调用像本地调用同样简单。后端

常见的 RPC 框架总结?

  • RMI(JDK自带):?JDK自带的RPC,有不少局限性,不推荐使用。浏览器

  • Dubbo:?Dubbo是 阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可经过高性能的 RPC 实现服务的输出和输入功能,能够和 Spring框架无缝集成。目前 Dubbo 已经成为 Spring Cloud Alibaba 中的官方组件。markdown

  • gRPC?:gRPC是能够在任何环境中运行的现代开源高性能RPC框架。它能够经过可插拔的支持来有效地链接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行情况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器链接到后端服务。网络

  • Hessian:?Hessian是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,由于采用的是二进制协议,因此它很适合于发送二进制数据。并发

  • Thrift:?Apache Thrift是Facebook开源的跨语言的RPC通讯框架,目前已经捐献给Apache基金会管理,因为其跨语言特性和出色的性能,在不少互联网公司获得应用,有能力的公司甚至会基于thrift研发一套分布式服务框架,增长诸如服务注册、服务发现等功能。

最后

总而言之,面试官问来问去,问的那些Redis知识点也就这么多吧,复习的不够到位,知识点掌握不够熟练,因此面试才会卡壳。将这些Redis面试知识解析以及我整理的一些学习笔记分享出来给你们参考学习框架

有须要这些学习笔记资料的朋友注意啦:戳这里便可免费领取分布式

还有更多学习笔记面试资料也分享以下(均可免费领取):ide

都是“Redis惹的祸”,害我差点挂在美团三面,真是“虚惊一场”

Javaweb开发从入门到实战pdf

相关文章
相关标签/搜索