106人参与 • 2024-08-02 • 微服务
# application.yml
dubbo
registry
address: zookeeper://localhost:2181
# dubbo.properties
dubbo.registry.address=zookeeper://localhost:2181
<dubbo:registry address="zookeeper://localhost:2181" />
address
是启用 zookeeper 注册中心唯一必须指定的属性,而在生产环境下,address
通常被指定为集群地址,如
address=zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181,10.20.153.12:2181
protocol 与 address 分开配置的模式也可以,如
<dubbo:registry protocol="zookeeper" address="10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181" />
如果 zookeeper 开启认证,dubbo 支持指定 username、password 的方式传入身份标识。
# application.yml
dubbo
registry
address: zookeeper://localhost:2181
username: hello
password: 1234
通过指定 group
属性,可以在同一个 zookeeper 集群内实现微服务地址的逻辑隔离。比如可以在一套集群内隔离出多套开发环境,在地址发现层面实现隔离。
# application.yml
dubbo
registry
address: zookeeper://localhost:2181
group: daily1
配置连接、会话过期时间
# application.yml
dubbo
registry
address: zookeeper://localhost:2181
timeout: 30 * 1000* # 连接超时时间,默认 30s
session: 60 * 1000* # 会话超时时间,默认 60s
配置大全:
注册中心配置。
属性 | 对应url参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
id | string | 可选 | 配置关联 | 注册中心引用beanid,可以在<dubbo:service registry=“”>或<dubbo:reference registry=“”>中引用此id | 1.0.16以上版本 | ||
address | host:port | string | 必填 | 服务发现 | 注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个dubbo:registry标签 | 1.0.16以上版本 | |
protocol | string | 可选 | dubbo | 服务发现 | 注册中心地址协议,支持dubbo , multicast , zookeeper , redis , consul(2.7.1) , sofa(2.7.2) , etcd(2.7.2) , nacos(2.7.2) 等协议 | 2.0.0以上版本 | |
port | int | 可选 | 9090 | 服务发现 | 注册中心缺省端口,当address没有带端口时使用此端口做为缺省值 | 2.0.0以上版本 | |
username | string | 可选 | 服务治理 | 登录注册中心用户名,如果注册中心不需要验证可不填 | 2.0.0以上版本 | ||
password | string | 可选 | 服务治理 | 登录注册中心密码,如果注册中心不需要验证可不填 | 2.0.0以上版本 | ||
transport | registry.transporter | string | 可选 | netty | 性能调优 | 网络传输方式,可选mina,netty | 2.0.0以上版本 |
timeout | registry.timeout | int | 可选 | 5000 | 性能调优 | 注册中心请求超时时间(毫秒) | 2.0.0以上版本 |
session | registry.session | int | 可选 | 60000 | 性能调优 | 注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样。 | 2.1.0以上版本 |
zone | zone | string | 可选 | 服务治理 | 注册表所属区域,通常用于流量隔离 | 2.7.5以上版本 | |
file | registry.file | string | 可选 | 服务治理 | 使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储 | 2.0.0以上版本 | |
wait | registry.wait | int | 可选 | 0 | 性能调优 | 停止时等待通知完成时间(毫秒) | 2.0.0以上版本 |
check | check | boolean | 可选 | true | 服务治理 | 注册中心不存在时,是否报错 | 2.0.0以上版本 |
register | register | boolean | 可选 | true | 服务治理 | 是否向此注册中心注册服务,如果设为false,将只订阅,不注册 | 2.0.5以上版本 |
subscribe | subscribe | boolean | 可选 | true | 服务治理 | 是否向此注册中心订阅服务,如果设为false,将只注册,不订阅 | 2.0.5以上版本 |
dynamic | dynamic | boolean | 可选 | true | 服务治理 | 服务是否动态注册,如果设为false,注册后将显示为disable状态,需人工启用,并且服务提供者停止时,也不会自动取消注册,需人工禁用。 | 2.0.5以上版本 |
group | group | string | 可选 | dubbo | 服务治理 | 服务注册分组,跨组的服务不会相互影响,也无法相互调用,适用于环境隔离。 | 2.0.5以上版本 |
version | version | string | 可选 | 服务发现 | 服务版本 | 1.0.0以上版本 | |
simplified | simplified | boolean | 可选 | false | 服务治理 | 注册到注册中心的url是否采用精简模式的(与低版本兼容) | 2.7.0以上版本 |
extra-keys | extrakeys | string | 可选 | 服务治理 | 在simplified=true时,extrakeys允许你在默认参数外将额外的key放到url中,格式:“interface,key1,key2”。 | 2.7.0以上版本 | |
useasconfigcenter | boolean | 可选 | 服务治理 | 该注册中心是否作为配置中心使用 | 2.7.5以上版本 | ||
useasmetadatacenter | boolean | 可选 | 服务治理 | 该注册中心是否作为元数据中心使用 | 2.7.5以上版本 | ||
accepts | accepts | string | 可选 | 服务治理 | 该注册中心接收rpc协议列表,多协议用逗号隔开,例如dubbo,rest | 2.7.5以上版本 | |
preferred | preferred | boolean | 可选 | 服务治理 | 是否作为首选注册中心。当订阅多注册中心时,如果设为true,该注册中心作为首选 | 2.7.5以上版本 | |
weight | weight | int | 可选 | 性能调优 | 注册流量权重。使用多注册中心时,可通过该值调整注册流量的分布,当设置首选注册中心时该值不生效 | 2.7.5以上版本 | |
registermode | register-mode | string | 可选 | all | 服务治理 | 控制地址注册行为,应用级服务发现迁移用。 * instance 只注册应用级地址; * interface 只注册接口级地址; * all(默认) 同时注册应用级和接口级地址; | 3.0.0以上版本 |
enableemptyprotection | enable-empty-protection | boolean | 可选 | true | 服务治理 | 是否全局启用消费端的空地址列表保护,开启后注册中心的空地址推送将被忽略,默认 true | 3.0.0以上版本 |
parameters | 无 | map<string, string> | 可选 | 服务治理 | 扩展预留,可扩展定义任意参数,所有扩展参数都将原样反映在 url 配置上 | 2.0.0以上版本 |
流程:
/dubbo/com.foo.barservice/providers
目录下写入自己的 url 地址。/dubbo/com.foo.barservice/providers
目录下的提供者 url 地址。并向 /dubbo/com.foo.barservice/consumers
目录下写入自己的 url 地址/dubbo/com.foo.barservice
目录下的所有提供者和消费者 url 地址。支持以下功能:
<dubbo:registry check="false" />
时,记录失败注册和订阅请求,后台定时重试<dubbo:registry username="admin" password="1234" />
设置 zookeeper 登录信息<dubbo:registry group="dubbo" />
设置 zookeeper 的根节点,不配置将使用默认的根节点。*
号通配符 <dubbo:reference group="*" version="*" />
,可订阅服务的所有分组和所有版本的提供者注册中心实质上是一个集中存储和管理服务元数据信息的组件。它在dubbo框架中扮演着重要角色,用于实现服务的注册、发现和通知。
具体来说,注册中心是一个独立的服务,它维护着一个服务目录,记录了可用的服务提供者的地址、协议、调用方式等信息。服务提供者在启动时,会向注册中心注册自己提供的服务,并定期发送心跳保持连接。而服务消费者则可以通过注册中心查询和订阅自己所需的服务,获取可用的服务提供者列表。
注册中心的实质可以是多种不同的实现,dubbo框架支持多种注册中心,如zookeeper、redis、multicast、simple等。不同的注册中心实现方式可能有所差异,但其核心功能都是提供服务的注册、发现和通知功能。
所需的服务,获取可用的服务提供者列表。
注册中心的实质可以是多种不同的实现,dubbo框架支持多种注册中心,如zookeeper、redis、multicast、simple等。不同的注册中心实现方式可能有所差异,但其核心功能都是提供服务的注册、发现和通知功能。
总而言之,注册中心的实质是一个集中管理服务元数据信息的组件,它提供了服务的注册和发现功能,帮助服务提供者和消费者之间实现解耦和动态扩展,从而构建一个高可用、弹性和可伸缩的分布式服务架构。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论