关于Dubbo服务的一些笔记

Dubbo服务出现的背景

关于Dubbo服务的一些笔记

由单一应用架构、垂直应用架构、分布式服务架构、流动计算架构方向发展而来;

架构与调用原理

关于Dubbo服务的一些笔记

调用关系说明

  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

注意:注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小

配置覆盖关系

以 timeout 为例,显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似:

  • 方法级优先,接口级次之,全局配置再次之。
  • 如果级别一样,则消费方优先,提供方次之。

其中,服务提供方配置,通过 URL 经由注册中心传递给消费方。

关于Dubbo服务的一些笔记

建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。

Dubbo中的容易忽略点

负载均衡:在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用。

多协议:Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。

最后贴上中文文档官网地址:http://dubbo.apache.org/#!/docs/user/references/xml/dubbo-service.md?lang=zh-cn