服务化拆分之后会引入一些新的问题:
1)服务拆分单独部署后,引入的服务跨网络通信的问题;
2)在拆分成多个小服务之后,服务如何治理的问题。
RPC(Remote Procedure Call,远程过程调用),封装了网络调用的细节,让你像调用本地服务一样调用 远程部署的服务。
一次 RPC 的调用都经过了哪些步骤,因为这样你才可以针对这些步骤中可能存在的性能瓶颈点提出优化方 案。步骤如下:
1)在一次 RPC 调用过程中,客户端首先会将调用的类名、方法名、参数名、参数值等信息,序列化成二进制 流;
2)然后客户端将二进制流通过网络发送给服务端;
3)服务端接收到二进制流之后将它反序列化,得到需要调用的类名、方法名、参数名和参数值,再通过动态代 理的方式调用对应的方法得到返回值;
4)服务端将返回值序列化,再通过网络发送给客户端;
5)客户端对结果反序列化之后,就可以得到调用的结果了。
此文章为5月Day26学习笔记,内容来源于极客时间《高并发系统设计 40 问》