RPC框架 | 青训营笔记

90 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第5篇笔记。

RPC概念

RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC它假定某些协议的存在,例如TPC/UDP等,为通信程序之间携带信息数据。在OSI网络七层模型中,RPC跨越了传输层和应用层,RPC使得开发,包括网络分布式多程序在内的应用程序更加容易。

过程是业务处理、计算任务,即程序,就是调用本地方法一样调用远程的过程。

解决问题

函数映射、数据转换成字节流、网络传输。

优点
  • 单一职责,有利于分工协作和运维开发
  • 可扩展性强,资源使用率更优
  • 故障隔离,服务的整体可靠性更高
使用场景

这里可以使用消息中间件MQ进行对比,在MQ中有消息队列queue,它可以存储消息RPC的特性:同步调用,对于需要等待返回结果的场景,可以使用RPC。消息中间件MQ的特性:异步单向的消息,不需要等待消息处理完成,如果需要同步得到结果的场景,RPC比较适合,当然RPC也适合在使用简单的场景中,它操作简单,基于接口,使用的方式模拟本地方法的调用,异步的方式编程比较复杂。

核心概念术语
  • ①client:客户端
  • ②server:服务端
  • ③calls:请求
  • ④replier:响应
  • ⑤services:一个网络服务由一个或者多个远程程序集构成
  • ⑥programs:一个远程程序实现一个或者多个远程过程
  • ⑦procedures:过程、过程的参数、结果在程序协议说明书中定义说明
  • ⑧version:为兼容程序协议变更,一个服务端可能支持多个版本的远程程序