请戳GitHub原文: https://github.com/wangzhiwubigdata/God-Of-BigData
RPC的实现原理
我们已经讲过,RPC主要是为了解决的两个问题:
解决分布式系统中,服务之间的调用问题。
远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。
还是以计算器Calculator为例,如果实现类CalculatorImpl是放在本地的,那么直接调用即可:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JDmPsgBQ-1657545144085)(https://user-gold-cdn.xitu.io/2019/2/20/1690b48cb0fc86d2?w=540&h=540&f=png&s=6245131181/ENResource/p1372)]
现在系统变成分布式了,CalculatorImpl和调用方不在同一个地址空间,那么就必须要进行远程过程调用:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2KsTroqO-1657545144087)(https://user-gold-cdn.xitu.io/2019/2/20/1690b48b505e8d18?w=901&h=473&f=png&s=7694)]