RPC就是远程过程调用,即从本地调用远程主机上的方法。RPC屏蔽了网络细节,消去了远程调用和本地调用的区别,感觉就是调用本地项目的体验,让我们进行跨主机调用方法的时候无需考虑网络细节,只需关注业务逻辑代码即可。
将本地的RPC调用参数进行特定协议的编码传到RPC提供方,提供方对数据按协议解码并入参执行方法,再将结果进行编码然后返回给调用方,调用方对返回结果进行解码。就是序列化和反序列化
由服务提供者给出业务接口声明,在调用方的程序里面,RPC 框架根据调用的服务接口提前生 成动态代理实现类,并通过依赖注入等技术注入到声明了该接口的相关业务逻辑里面。该代理 实现类会拦截所有的方法调用,在提供的方法处理逻辑里面完成一整套的远程调用,并把远程 调用结果返回给调用方,这样调用方在调用远程方法的时候就获得了像调用本地接口一样的体 验
在大型项目中对位服务拆分式进行解耦,屏蔽服务之间的调用逻辑,就好像整个项目还是合在一起,但又让我们可以单独专注某个服务的开发,不需要担心其他服务更该对本服务的影响。
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!