简历上写了dubbo几乎每次都被问了dubbo。。。。
dubbo是一个rpc远程调用的框架,用于分布式的远程调用。核心组件为:运行容器、服务提供者、服务发布者、监视器、注册中心。
为什么用dubbo
dubbo为soa架构的分布式项目提供了便利,使表现层调用服务变的非常简单,而且dubbo提供了很多不同的传输协议、不同的负载均衡策略、和调用链监控、完全支持spring这些好处。
dubbo支持不同的协议
-
dubbo协议
-
rmi
-
webservice
-
http
-
redis
如何调用不同的协议dubbo使用spi机制加载配置文件实现
dubbo使用zookeeper或redis作为注册中心
dubbo负载均衡策略:
随机(基于权重)、轮询、一致性hash、最少活跃
spi机制:spi就是通过不同的名字去使用不同协议的实现类,这个机制为dubbo可扩展性提供了极大的便利。spi是将实现类的名字写在MET-INF的services文件夹下,然后通过类加载机制去加载不同的类。dubbo的spi与jdk提供的spi是有区别的。dubbo的spi是自实现的一种spi,文件的配置是以key-value形式的,可以更方便的根据名字获取实现类。
RPC
远程过程调用,