RPC原理与实践 | 青训营笔记

43 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第14天

打基础,记录笔记,赚青豆

一、重点内容

  • RPC的概念
  • RPC分层设计
  • RPC的作用和问题

二、详细知识点介绍

RPC的概念 一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

详细说明: RPC 是指计算机 A 上的进程,调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行,当值返回给 A 时,A 进程继续执行。调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息。而这一过程,对于开发人员来说是透明的。

RPC分层设计

RPC框架主要由三层构成:

  • 解编码层:通过代码生成工具把IDL文件转化成对应的库文件,使得客户端、服务器间达到共识,并制定具体的解码编码协议进行数据传输;
  • 协议层:制定双方交流的语义,一般通过变长协议的方式完成,其中定长的部分用于描述不定长的内容长度;
  • 网络通信层:使用socket套接字编程,一般运用成熟的网络库。 RPC 框架的核心指标
  • 稳定性,保障策略,请求成功率
  • 负载均衡,易用性,开箱即用
  • 扩展性,观测性,高性能

RPC的作用和问题

RPC的好处

  • 单一职责,有利于分工协作和运维开发
  • 可扩展性强,资源使用率更优
  • 故障隔离,服务的整体可靠性更高 RPC带来的问题
  • 服务宕机,对方应该如何处理?
  • 在调用过程中发生网络异常,如何保证消息的可达性?
  • 请求量突增导致服务无法及时处理,有哪些应对措施?

三、课后个人总结

今天做了关于RPC的相关笔记,RPC的应用还是挺广的,但是随着青训营进度的推进,这部分的知识还是很有难度的,还是需要不断的学习