带你读《Apache Dubbo微服务开发从入门到精通》——六、 配置中心(2)

简介: 带你读《Apache Dubbo微服务开发从入门到精通》——六、 配置中心(2)

《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——六、 配置中心(1) https://developer.aliyun.com/article/1223809


2. Zookeeper

 

1) 前置条件

 

了解Dubbo基本开发步骤

安装并启动Zookeeper

 

2) 使用说明

 

完整示例代码

 

a) 增加Maven依赖

 

如果项目已经启用Zookeeper作为注册中心,则无需增加任何额外配置。

 

如果未使用Zookeeper注册中心,则请参考本书生态一章的【Zookeeper注册中心】-【为注册中心增加Zookeeper相关依赖】

 

b) 启用Zookeeper配置中心

image.png

或者

image.png

 

或者

image.png

 

或者

image.png

 

address格式请参考【zookeeper注册中心】-【启用配置】

 

3) 高级配置

 

如要开启认证鉴权,请参考【zookeeper注册中心】-【启用认证鉴权】

 

a) 定制外部化配置key

 

启用外部化配置,并指定key

 

image.png

 

config-file-外部化配置文件key值,默认dubbo.properties。config-file代表将Dubbo配置文件存储在远端注册中心时,文件在配置中心对应的key值,通常不建议修改此配置项。

 

Zookeeper配置中心增加配置

 

外部化配置的存储结构如下图所示

image.png

 

namespace,用于不同配置的环境隔离。

 

config,Dubbo约定的固定节点,不可更改,所有配置和流量治理规则都存储在此节点下。

 

dubbo与application,分别用来隔离全局配置、应用级别配置:dubbo是默认group值,application对应应用名

 

dubbo.properties,此节点的node value存储具体配置内容

 

注:

这里是为了说明工作原理,建议使用dubbo-admin进行配置管理。

 

b) 设置group与namespace

 

image.png

 

对配置中心而言,group与namespace应该是全公司(集群)统一的,应该避免不同应用使用不同的值,外部化配置和治理规则也应该存放在对应的group与namespace。

 

4) 流量治理规则

 

所有流量治理规则默认都存储在/dubbo/config节点下,具体节点结构图如下。流量治理规则的增删改建议通过dubbo-admin完成,更多内容可查看Dubbo支持的具体流量治理能力

 

image.png

 

namespace,用于不同配置的环境隔离。

 

config,Dubbo约定的固定节点,不可更改,所有配置和流量治理规则都存储在此节点下。

 

dubbo,所有服务治理规则都是全局性的,dubbo为默认节点

 

configurators/tag-router/condition-router/migration,不同的服务治理规则类型,node value存储具体规则内容

 

《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——六、 配置中心(3) https://developer.aliyun.com/article/1223802


相关文章
|
8月前
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
298 5
|
9月前
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
1065 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
8月前
|
人工智能 Java 数据库
飞算 JavaAI:革新电商订单系统 Spring Boot 微服务开发
在电商订单系统开发中,传统方式耗时约30天,需应对复杂代码、调试与测试。飞算JavaAI作为一款AI代码生成工具,专注于简化Spring Boot微服务开发。它能根据业务需求自动生成RESTful API、数据库交互及事务管理代码,将开发时间缩短至1小时,效率提升80%。通过减少样板代码编写,提供规范且准确的代码,飞算JavaAI显著降低了开发成本,为软件开发带来革新动力。
|
9月前
|
Java 关系型数据库 数据库
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——Spring Boot 事务配置
本文介绍了 Spring Boot 中的事务配置与使用方法。首先需要导入 MySQL 依赖,Spring Boot 会自动注入 `DataSourceTransactionManager`,无需额外配置即可通过 `@Transactional` 注解实现事务管理。接着通过创建一个用户插入功能的示例,展示了如何在 Service 层手动抛出异常以测试事务回滚机制。测试结果表明,数据库中未新增记录,证明事务已成功回滚。此过程简单高效,适合日常开发需求。
1206 0
|
9月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
178 0
|
9月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
868 0
|
9月前
|
Java 数据库连接 微服务
微服务——MyBatis配置——事务管理
本段内容主要介绍了事务管理的两种类型:JDBC 和 MANAGED。JDBC 类型直接利用数据源连接管理事务,依赖提交和回滚机制;而 MANAGED 类型则由容器全程管理事务生命周期,例如 JEE 应用服务器上下文,默认会关闭连接,但可根据需要设置 `closeConnection` 属性为 false 阻止关闭行为。此外,提到在使用 Spring + MyBatis 时,无需额外配置事务管理器,因为 Spring 模块自带的功能可覆盖上述配置,且这两种事务管理器类型均无需设置属性。
163 0
|
9月前
|
Java 数据库连接 数据库
微服务——MyBatis配置——多环境配置
在 MyBatis 中,多环境配置允许为不同数据库创建多个 SqlSessionFactory。通过传递环境参数给 SqlSessionFactoryBuilder,可指定使用哪种环境;若忽略,则加载默认环境。`environments` 元素定义环境配置,包括默认环境 ID、事务管理器和数据源类型等。每个环境需唯一标识,确保默认环境匹配其中之一。代码示例展示了如何构建工厂及配置 XML 结构。
165 0
|
9月前
|
缓存 Java 数据库连接
微服务——MyBatis配置——常见配置
本文介绍了 MyBatis 的常见配置及其加载顺序。属性配置优先级为:方法参数传递的属性 > resource/url 属性中配置 > properties 元素中指定属性。同时列举了多个关键配置项,如 `cacheEnabled`(全局缓存开关)、`lazyLoadingEnabled`(延迟加载)、`useGeneratedKeys`(使用 JDBC 自动生成主键)等,并详细说明其作用、有效值及默认值。这些配置帮助开发者优化 MyBatis 的性能与行为。
149 0
|
5月前
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
300 1

推荐镜像

更多