微服务与RPC的关系

什么是RPC

很多传统的PHPer并不懂RPC是什么,RPC全称Remote Procedure Call,中文译为远程过程调用,其实你可以把它理解为是一种架构性上的设计,或者是一种解决方案。

通过RPC我们可以像调用本地方法一样调用别的机器上的方法,用户将无感服务器与服务器之间的通讯。RPC在微服务当中起到相当大的作用.

服务化的解耦

服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大司

跨团队的技术解耦:如下图:

服务A是欧洲团队提供服务,欧洲团队的技术背景是Java,可以用Java实现服务;

服务B是美洲团队提供服务,可以用C++实现服务;

服务C是中国团队提供服务,可以用Go实现服务;

服务的上游调用方,按照接口、协议即可完成对远端服务的调用。

但实际上,99.9%的公司的团队规模有限,技术团队人数也有限,基本是使用同一套技术体系来调用和提供服务的。例如我们公司后端主要是PHP,那么我们的系统体系主要还是用PHP来开发。

RPC框架职责

(1)调用方感觉就像调用本地函数一样

(2)服务提供方感觉就像实现一个本地函数一样来实现服务

 所以整个RPC框架又分为client部分与server部分,负责把整个非的各类复杂性屏蔽,这些复杂性就是RPC框架的职责。

结论

(1)RPC框架是架构微服务化的首要基础组件,它能大大降低架构微服务化的成本,提高调用方与服务提供方的研发效率,屏蔽跨进程调用函数(服务)的各类复杂细节

(2)RPC框架的职责是:让调用方感觉就像调用本地函数一样调用远端函数、让服务提供方感觉就像实现一个本地函数一样来实现服务

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注