这是我参与「第五届青训营 」伴学笔记创作活动的第14天
打基础,记录笔记,赚青豆
一、重点内容
- RPC的概念
- RPC分层设计
- RPC的作用和问题
二、详细知识点介绍
RPC的概念 一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
详细说明: RPC 是指计算机 A 上的进程,调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行,当值返回给 A 时,A 进程继续执行。调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息。而这一过程,对于开发人员来说是透明的。
RPC分层设计
RPC框架主要由三层构成:
- 解编码层:通过代码生成工具把IDL文件转化成对应的库文件,使得客户端、服务器间达到共识,并制定具体的解码编码协议进行数据传输;
- 协议层:制定双方交流的语义,一般通过变长协议的方式完成,其中定长的部分用于描述不定长的内容长度;
- 网络通信层:使用socket套接字编程,一般运用成熟的网络库。 RPC 框架的核心指标
- 稳定性,保障策略,请求成功率
- 负载均衡,易用性,开箱即用
- 扩展性,观测性,高性能
RPC的作用和问题
RPC的好处
- 单一职责,有利于分工协作和运维开发
- 可扩展性强,资源使用率更优
- 故障隔离,服务的整体可靠性更高 RPC带来的问题
- 服务宕机,对方应该如何处理?
- 在调用过程中发生网络异常,如何保证消息的可达性?
- 请求量突增导致服务无法及时处理,有哪些应对措施?
三、课后个人总结
今天做了关于RPC的相关笔记,RPC的应用还是挺广的,但是随着青训营进度的推进,这部分的知识还是很有难度的,还是需要不断的学习