dubbo和zookeeper
dubbo:资源调度和治理中心的管理工具
比如一个项目的表现层与服务层是相互分开的,然而表现层却要去调用服务层的东西,这时候就需要进行资源的调度了,dubbo就是一个很高的选择,直接使用socket进行数据传输,传输效率非常高效。
zookeeper:注册中心
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。使用dubbo-2.3.3以上版本,建议使用zookeeper注册中心。
可以作为集群的管理工具使用。
可以集中管理配置文件。
(使用zookeeper之前需要贤安装zookeeper)
两者的结合使用
表现层暴露服务 在application-service.xml中配置(例如)
<!-- 使用dubbo发布服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="e3-manager" />
<dubbo:registry protocol="zookeeper"
address="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="cn.e3mall.service.ItemService" ref="itemServiceImpl" />
服务层引用服务 在application-service.xml中配置(例如)
<!-- 引用dubbo服务 -->
<dubbo:application name="e3-manager-web"/>
<dubbo:registry protocol="zookeeper" address="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"/>
<dubbo:reference interface="cn.e3mall.service.ItemService" id="itemService" />