Dubbo 的连接方式

Dubbo 的客户端和服务端有三种连接方式,分别是:

  1. 广播
  2. 直连
  3. 使用 zookeeper 注册中心

Dubbo 广播

这种方式是 dubbo 官方入门程序所使用的连接方式,但是这种方式有很多问题。在企业开发中,不使用广播的方式。

taotao-manager 服务端配置:

dubbo直连 java dubbo连接_java


客户端配置 taotao-manager-web 的配置如下:

dubbo直连 java dubbo连接_dubbo直连 java_02

Dubbo 直连

这种方式在企业中一般在开发中环境中使用,但是生产环境很少使用,因为服务是直接调用,没有使用注册中心,很难对服务进行管理。Dubbo 直连,首先要取消广播,然后客户端直接到指定需要的服务的 url 获取服务即可。服务端配置:taotao-manager 的修改如下,取消广播,注册中心地址为 N/A

dubbo直连 java dubbo连接_dubbo直连 java_03


客户端配置:taotao-manager-web 配置如下,取消广播,从指定的 url 中获取服务

dubbo直连 java dubbo连接_rpc_04

zookeeper 注册中心

Dubbo 注册中心和广播注册中心配置类似,不过需要指定注册中心类型和注册中心地址,这个时候就不是把服务信息进行广播了,而是告诉给注册中心进行管理,这个时候我们就需要有一个注册中心。官方推荐使用 zookeeper 作为注册中心。

dubbo直连 java dubbo连接_zookeeper_05


1)Provider: 暴露服务的服务提供方。

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

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

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

5)Container: 服务运行容器。调用关系说明:

1)服务容器负责启动,加载,运行服务提供者。

2)服务提供者在启动时,向注册中心注册自己提供的服务。

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

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

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

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

dubbo直连 java dubbo连接_zookeeper_06