Dubbo 的客户端和服务端有三种连接方式,分别是:广播,直连和使用 zookeeper 注册中心。
Dubbo 广播
这种方式是 dubbo 官方入门程序所使用的连接方式,但是这种方式有很多问题。在企业开发中,不使用广播的方
式。
taotao-manager 服务端配置:
1. <!-- applicationContext-service.xml 文件中 -->
2. <!-- 提供方应用信息,用于计算机依赖关系 -->
3. <dubbo:application name=”taotao-manager-service” />
4. <!-- 使用 multicast 广播暴露服务地址 -->
5. <dubbo:registry address=”multicast://224.5.6.7:1234” />
6. <!-- 使用 dubbo 协议在 20880 协议暴露服务 -->
7. <dubbo:protocol name=”dubbo” port=”20880” />
8. <!-- 声明需要暴露的服务接口 -->
9. <dubbo:service interface="com.taotao.service.Test”ref="testServiceImpl"/>
10. </bean>
客户端配置 taotao-manager-web 的配置如下:
1. <!--springMVC.xml 文件中 -->
2. <!-- 配置 dubbo 服务 -->
3. <dubbp:application name=”taotao-manager-web” />
4. <!-- 使用 multicast 广播暴露服务地址 -->
5. <dubbo:registry address=”multicast://224.5.6.7:1234” />
6. <!-- 声明要调用的服务 timeout 是设置连接超时最长时间,如果不设置,默认超时时间为 3 秒 -->
7.<dubbo:serviceinterface="com.taotao.service.Test”id="test”timeout="10000"/>
8. </bean>
Dubbo 直连
这种方式在企业中一般在开发中环境中使用,但是生产环境很少使用,因为服务是直接调用,没有使用注册中心,
很难对服务进行管理。Dubbo 直连,首先要取消广播,然后客户端直接到指定需要的服务的 url 获取服务即可。
服务端配置:taotao-manager 的修改如下,取消广播,注册中心地址为 N/A
1. <!-- applicationContext-service.xml 文件中 -->
2. <!-- 提供方应用信息,用于计算机依赖关系 -->
3. <dubbo:application name=”taotao-manager-service” />
4. <!-- <dubbo:registry address=”multicast://224.5.6.7:1234” /> -->
5. <!-- 使用 multicast 广播暴露服务地址 -->
6. <dubbo:registry address=”N/A” />
7. <!-- 使用 dubbo 协议在 20880 协议暴露服务 -->
8. <dubbo:protocol name=”dubbo” port=”20880” />
9. <!-- 声明需要暴露的服务接口 -->
10. <dubbo:service interface=”com.taotao.manager.service.TestService” ref=”testServiceImpl” />
11. </bean>
客户端配置:taotao-manager-web 配置如下,取消广播,从指定的 url 中获取服务
1. <!--springMVC.xml 文件中 -->
2. <!-- 配置 dubbo 服务 -->
3. <dubbp:application name=”taotao-manager-web” />
4. <!-- 使用 multicast 广播暴露服务地址 -->
5. <!-- <dubbo:registry address=”multicast://224.5.6.7:1234” /> -->
6. <!-- 声明要调用的服务 timeout 是设置连接超时最长时间,如果不设置,默认超时时间为 3 秒 -->
7. <dubbo:service interface=”com.taotao.manager.service.TestService” id=”testService”
timeout=”10000000” />
8. </bean>
3.3 、r zookeeper 注册中心
Dubbo 注册中心和广播注册中心配置类似,不过需要指定注册中心类型和注册中心地址,这个时候就不是把服务信息进行广播了,而是告诉给注册中心进行管理,这个时候我们就需要有一个注册中心。官方推荐使用 zookeeper 作为注册中心。 |
|