本人所在的项目组规模较大,3000人左右,彼此合作共同开发一套产品。构成产品的项目之间通过RDC进行信息的交互,使用过程中有些心得,以为记录。
RPC协议及RPC框架
协议即规范,只是说本地可透明调用网络上的服务而无需关注具体的网络技术,描述而已。RPC框架则是具体的实现产品,我们开发也是引入框架来进行信息的交互。
RPC协议工作在那一层网络模型
要搞明白这个问题,需了解RPC协议的应用场景。简单来说,就是本地进程可以像调用进程内部对象一样调用远程进程的对象,即实现对象调用透明化。依据描述,RPC协议没有显式规定RPC协议工作在那一层。其实,目前业界所使用的RPC框架,都是支持多种协议的。比如Dubbo支持RMI、Dubbo、Hessain、WebService。其中Dubbo和RMI协议基于TCP实现,Hessian和WebService基于HTTP实现。
故此称其为跨越了应用层与传输层,因为可用应用层和传输层协议实现它。
RPC的工作流程
1 、服务调用方调用本地方法调用服务
2 、client代理负责找到server代理,并发送请求信息
3、server代理调用server所在的本地服务,返回调用结果
4、client代理接收调用结果
5、服务调用方获得返回结果
RPC框架负责2-4步骤的工作
RPC和Restful
RPC是一种通信规范,而Restful则相当于一种编码规范,或者资源命名规范,两个是不同的层次的东西
浙公网安备 33010602011771号