提示:让我们直接先来看答案
什么是 RPC?目前有哪些常见的 RPC 框架?实现 RP 框架的核心原理是什么?
RPC 是远程过程调用(Remote Procedure Call)的缩写,它是一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议¹。RPC 可以让开发者像调用本地方法一样调用远程的过程,实现分布式系统的服务化或微服务¹⁵。
目前有很多常见的 RPC 框架,可以分为两类:一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的⁵。
跟语言平台绑定的开源 RPC 框架主要有下面几种⁵⁶。
- Dubbo:国内最早开源的 RPC 框架,由阿里巴巴公司开发并于 2011 年末对外开源,仅支持 Java 语言⁵⁶。它的架构主要包含四个角色:服务消费者、服务提供者、注册中心和监控系统⁵。
- Motan:微博内部使用的 RPC 框架,于 2016 年对外开源,仅支持 Java 语言⁵⁶。它的架构主要包含几个功能模块:注册、协议、序列化、通信和集群⁵。
- Tars:腾讯内部使用的 RPC 框架,于 2017 年对外开源,仅支持 C++ 语言⁵⁶。它的架构主要包含几个流程:服务发布、管理命令、心跳上报、信息上报和客户端访问⁵。
- Spring Cloud:国外 Pivotal 公司 2014 年对外开源的 RPC 框架,仅支持 Java 语言⁵⁶。它的架构主要包含多个组件,如 API