1、Dubbo是什么?
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA治理方案。最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。
2、为什么用Dubbo?
(1)远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
(2) 软负载均衡及容错机制: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
(3) 服务自动注册与发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
(4)提供完善的管理控制台dubbo-admin与简单的控制中心dubbo-monitor。
(5)Dubbo提供了伸缩性很好的插件模型,很方便进行扩展(ExtensionLoader)。
(6) 支持多协议 。(dubbo、RMI、Hessian、http等)
3、Dubbo怎么用?
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入, 只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
4、Dubbo模型架构
4.1节点角色说明
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
4.2调用关系说明
(1)服务容器