基于sping和dubbo.properties的配置实现方式:
=================================================================
注册中心参考手册
<dubbo:registry/>
注册中心配置:
配置类:com.alibaba.dubbo.config.RegistryConfig
说明:如果有多个不同的注册中心,可以声明多个<dubbo:registry>标签,并在<dubbo:service>或<dubbo:reference>的registry属性指定使用的注册中心。
标签 | 属性 | 对应URL参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:registry> | id | string | 可选 | 配置关联 | 注册中心引用BeanId,可以在<dubbo:service registry="">或<dubbo:reference registry="">中引用此ID | 1.0.16以上版本 | ||
<dubbo:registry> | address | <host:port> | string | 必填 | 服务发现 | 注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个<dubbo:registry>标签 | 1.0.16以上版本 | |
<dubbo:registry> | protocol | <protocol> | string | 可选 | dubbo | 服务发现 | 注同中心地址协议,支持dubbo, http, local三种协议,分别表示,dubbo地址,http地址,本地注册中心 | 2.0.0以上版本 |
<dubbo:registry> | port | <port> | int | 可选 | 9090 | 服务发现 | 注册中心缺省端口,当address没有带端口时使用此端口做为缺省值 | 2.0.0以上版本 |
<dubbo:registry> | username | <username> | string | 可选 | 服务治理 | 登录注册中心用户名,如果注册中心不需要验证可不填 | 2.0.0以上版本 | |
<dubbo:registry> | password | <password> | string | 可选 | 服务治理 | 登录注册中心密码,如果注册中心不需要验证可不填 | 2.0.0以上版本 | |
<dubbo:registry> | transport | registry.transporter | string | 可选 | netty | 性能调优 | 网络传输方式,可选mina,netty | 2.0.0以上版本 |
<dubbo:registry> | timeout | registry.timeout | int | 可选 | 5000 | 性能调优 | 注册中心请求超时时间(毫秒) | 2.0.0以上版本 |
<dubbo:registry> | session | registry.session | int | 可选 | 60000 | 性能调优 | 注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样。 | 2.1.0以上版本 |
<dubbo:registry> | file | registry.file | string | 可选 | 服务治理 | 使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储 | 2.0.0以上版本 | |
<dubbo:registry> | wait | registry.wait | int | 可选 | 0 | 性能调优 | 停止时等待通知完成时间(毫秒) | 2.0.0以上版本 |
<dubbo:registry> | check | check | boolean | 可选 | true | 服务治理 | 注册中心不存在时,是否报错 | 2.0.0以上版本 |
<dubbo:registry> | register | register | boolean | 可选 | true | 服务治理 | 是否向此注册中心注册服务,如果设为false,将只订阅,不注册 | 2.0.5以上版本 |
<dubbo:registry> | subscribe | subscribe | boolean | 可选 | true | 服务治理 | 是否向此注册中心订阅服务,如果设为false,将只注册,不订阅 | 2.0.5以上版本 |
<dubbo:registry> | dynamic | dynamic | boolean | 可选 | true | 服务治理 | 服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。 | 2.0.5以上版本 |
- 注册中心参考手册 推荐使用Zookeeper注册中心
zookeeper注册中心又有两种client实现: 支持zkclient(默认,从2.2.0版本开始缺省为zkclient实现)和curator(使用时需显示设置)两种Zookeeper客户端实现。
如果需要改为curator实现,请配置:<dubbo:registry ... client="curator" />
或:dubbo.registry.client=curator
或:zookeeper://10.20.153.10:2181?client=curator
注意区分 dubbo.registry.client不同于dubbo.registry.address!!
dubbo.registry.client默认使用zkclient实现时,可以不用配置。
dubbo.registry.address总是需要进行配置的:
Zookeeper单机配置: <dubbo:registry address="zookeeper://10.20.153.10:2181" />
Zookeeper集群配置: <dubbo:registry address="zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181,10.20.153.12:2181" />
=================================================================
服务 容器
服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。
Spring Container
默认 加载META-INF/spring目录下的所有Spring配置。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.spring.config=classpath*:META-INF/spring/abc.xml ----配置spring配置加载位置
Log4j Container
自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.log4j.file=/foo/bar.log ----配置日志文件路径
dubbo.log4j.level=WARN ----配置日志级别
启动 容器
缺省只加载spring,通过classpath下的dubbo.properties配置传入要加载的容器:
dubbo.container=spring,log4j
http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-%E6%9C%8D%E5%8A%A1%E5%AE%B9%E5%99%A8
=================================================================
<dubbo:monitor/>
监控中心配置:
标签 属性 对应URL参数 类型 是否必填 缺省值 作用 描述 兼容性
<dubbo:monitor> protocol protocol string 可选 dubbo 服务治理 监控中心协议,如果为protocol="registry",表示从注册中心发现监控中心地址,否则直连监控中心。 2.0.9以上版本
<dubbo:monitor> address <url> string 可选 N/A 服务治理 直连监控中心服务器地址,address="10.20.130.230:12080" 1.0.16以上版本
eg:
# 监控中心
#dubbo.monitor.protocol=registry #表示从注册中心发现监控中心地址
dubbo.monitor.address=127.0.0.1:2181 #直连监控中心
=================================================================
<dubbo:application
是必须要有的。虽然不是匹配条件,但是没有<dubbo:application服务不能正常运行。
=================================================================