原文地址
1、搭建zookeeper集群环境
这个在上上上个文章中已经详细描述了 点击查看
2、通过dubbo-admin(dubbo后台管理系统) 查看dubbo 提供者和消费者等
dubbo-admin-2.5.3.war 点击下载就好
下载完毕之后找一个tomcat 将该war包解压缩,然后修改里面的 \tomcat7-dubbo\webapps\ROOT\WEB-INF\dubbo.properties
修改 dubbo.registry.address=zookeeper://192.168.1.211:2181?backup=192.168.1.212:2181,192.168.1.213:2181
其他的不用修改,然后直接启动tomcat就好了。由于我tomcat设定的端口是80 并且我讲dubbo-admin 放到了ROOT下,所以我直接在浏览器中录入localhost就可以访问了。
用户名root 密码root(刚才在那个配置文件夹中的password 就是这个root 用户的密码)
进入之后可以在里面各种点点看一下。
3、咱们直接上源码来解释:点击查看下载
下载完毕之后,主要说一下provider 和consumer 关于dubbo.xml的配置文件
provider:
<!-- 提供方应用名称信息,这个相当于起一个名字,我们dubbo管理页面比较清晰是哪个应用暴露出来的 -->
<dubbo:application name="dubbo_provider"></dubbo:application>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://192.168.1.211:2181?backup=192.168.1.212:2181,192.168.1.213:2181" check="false" subscribe="false" register=""></dubbo:registry>
<!-- 要暴露的服务接口 -->
<dubbo:service interface="cn.m1c.dubbo.api.TestRegistryService" ref="testRegistryService" />
说明:
dubbo:registry 标签一些属性的说明:
1)register是否向此注册中心注册服务,如果设为false,将只订阅,不注册。
2)check注册中心不存在时,是否报错。
3)subscribe是否向此注册中心订阅服务,如果设为false,将只注册,不订阅。
4)timeout注册中心请求超时时间(毫秒)。
5)address可以Zookeeper集群配置,地址可以多个以逗号隔开等。
dubbo:service标签的一些属性说明:
1)interface服务接口的路径
2)ref引用对应的实现类的Bean的ID
3)registry向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A
4)register 默认true ,该协议的服务是否注册到注册中心。
————————分割线——————————
consumer:
<dubbo:application name="dubbo_consumer"></dubbo:application>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://192.168.1.211:2181?backup=192.168.1.212:2181,192.168.1.213:2181" check="false"></dubbo:registry> <!-- 要引用的服务 -->
<dubbo:reference interface="cn.m1c.dubbo.api.TestRegistryService" id="testRegistryService"></dubbo:reference>
说明:
dubbo:reference 的一些属性的说明:
1)interface调用的服务接口
2)check 启动时检查提供者是否存在,true报错,false忽略
3)registry 从指定注册中心注册获取服务列表,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔
4)loadbalance 负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用
转自:原文地址