Dubbo 的连接方式
Dubbo 的客户端和服务端有三种连接方式,分别是:
- 广播
- 直连
- 使用 zookeeper 注册中心
Dubbo 广播
这种方式是 dubbo 官方入门程序所使用的连接方式,但是这种方式有很多问题。在企业开发中,不使用广播的方式。
taotao-manager 服务端配置:
客户端配置 taotao-manager-web 的配置如下:
Dubbo 直连
这种方式在企业中一般在开发中环境中使用,但是生产环境很少使用,因为服务是直接调用,没有使用注册中心,很难对服务进行管理。Dubbo 直连,首先要取消广播,然后客户端直接到指定需要的服务的 url 获取服务即可。服务端配置:taotao-manager 的修改如下,取消广播,注册中心地址为 N/A
客户端配置:taotao-manager-web 配置如下,取消广播,从指定的 url 中获取服务
zookeeper 注册中心
Dubbo 注册中心和广播注册中心配置类似,不过需要指定注册中心类型和注册中心地址,这个时候就不是把服务信息进行广播了,而是告诉给注册中心进行管理,这个时候我们就需要有一个注册中心。官方推荐使用 zookeeper 作为注册中心。
1)Provider: 暴露服务的服务提供方。
2)Consumer: 调用远程服务的服务消费方。
3)Registry: 服务注册与发现的注册中心。
4) Monitor: 统计服务的调用次调和调用时间的监控中心。
5)Container: 服务运行容器。调用关系说明:
1)服务容器负责启动,加载,运行服务提供者。
2)服务提供者在启动时,向注册中心注册自己提供的服务。
3)服务消费者在启动时,向注册中心订阅自己所需的服务。
4)注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5)服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6)服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。