4.1. DUBBO 简介
DUBBO 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是阿里巴巴 SOA(Service-Oriented Architecture,SOA,面向服务架构) 服务化治理方案的核心框架,每天为 2,000+个服务提供 3,000,000,000+次访问量 支持,并被广泛应用于阿里巴巴集团的各成员站点。官网地址:http://dubbo.io/
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
0. 服务容器负责启动,加载,运行服务提供者。
- 服务提供者在启动时,向注册中心注册自己提供的服务。
- 服务消费者在启动时,向注册中心订阅自己所需的服务。
- 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长 连接推送变更数据给消费者。
- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行 调用,如果调用失败,再选另一台调用。
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一 次统计数据到监控中心。
【软负载均衡】软件负载均衡则是通过在服务器上安装的特定的负载均衡软件或
是自带负载均衡模块完成对请求的分配派发。如:轮询法、随机法、源地址哈希 法、最小连接数法等。在消费方中声明服务的时候可以指定负载均衡的策略, dubbo 在返回的服务地址列表中使用负载均衡策略选择一个服务地址;默认是使 用随机法。