一、为什么要有RPC
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
问题:服务与服务之间的接口如何调用?
解决:使用rmi、httpclient、RestTemplate、RPC服务治理框架。
二、RPC远程调用介绍
RPC(Remote Procedure Call)—远程过程调用。过程就是方法,就是功能。
A服务器中运行的项目,可以调用B服务器中运行项目的代码。
调用的东西不在本地放,而在另一台计算机上放着。
调用者称为服务消费者,被调用这称为服务提供者。
RPC框架主要帮我们管理服务创建、服务曝光、服务消费这个流程,也就是治理服务,我们只需要把服务注册给RPC框架的注册中心,获取远程服务代理对象消费服务,就实现了远程方法调用。
三、RPC应用场景
不同系统之间调用,不同平台之间调用:
不同系统之间的调用,linux与windows 系统
不同平台之间的调用,java程序与C++程序
这就是分布式系统,不同的服务器做不同的事,所以服务器合起来,就是一个完整的事。
四、RPC相关技术
RMI实现RPC调用
HttpClient实现远程调用
RestTemplate模板对象
Zookeeper服务发现
Dubbo框架
Springcloud框架