平静

遵循美德行事,纵使没有增加快乐,也可减轻焦虑。

导航

dubbo 各功能模块介绍及配置方式

Posted on 2016-09-27 18:17  mdong  阅读(1545)  评论(0编辑  收藏  举报

基于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注册中心又有两种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服务不能正常运行。

 

=================================================================