Dubbo

什么是dubbo

Dubbo是阿里巴巴公司开源的一个高性能优秀的分布式服务框架。使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。

Dubbo的架构

Dubbo

节点角色说明:

· Provider:暴露服务的服务提供方。

· Consumer:调用远程服务的服务消费方。

· Registry:服务注册与发现的注册中心。

· Monitor:统计服务的调用次调和调用时间的监控中心。

· Container:服务运行容器。

调用关系说明:

·  0.服务容器负责启动,加载,运行服务提供者。

·  1.服务提供者在启动时,向注册中心注册自己提供的服务。

·  2.服务消费者在启动时,向注册中心订阅自己所需的服务。

·  3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

·  4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

·  5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

使用方法

Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于SpringSchema扩展进行加载。

服务提供方使用dubbo发布服务,服务消费方引用dubbo服务。

并在提供方增加暴露服务配置<dubbo:service>,在消费方增加引用服务配置<dubbo:reference>