面试题之四
谈谈你对RPC框架的理解
难度指数:4星
考察频率:55-60%
开发年限:3年以上
一.RPC是什么?
远程过程调用:Remote Procedure call.可以跨进程,跨越同一个计算机的多个进程、多个JVM或多台计算机之间的进程。
凡是符合该协议的框架,称之为RPC框架。
A 提供服务;B调用A的服务,希望想调用本地方法一样,RPC.
二.技术原理
详见技术图
三.扩展
RPC协议的框架,Dubbo,阿里巴巴的Dubbo,重点描述的内容。
在实际开发的时候,我使用的是Dubbo框架,服务调用、服务治理功能。
Dubbo对比是SpringCloud:
①都需要服务提供方,服务消费方、注册中心,差别不大。
②Dubbo是通过各种Filter定义实现各个组件的融合;
③Dubbo采用的常链接和NIO异步通信,适合场景是小数据量、高并发的服务调用,以及服务消费者及其远大于服务提供者机器数。
④Dubbo服务依赖比较重。
⑤Dubbo的各个组件都需要部署在单独服务器上,接受服务请求、聚合服务。