带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 配置概述(上)

简介: 带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 配置概述(上)

配置手册

 

一、 配置概述

 

1. 配置组件

 

为了更好地管理各种配置,Dubbo抽象了一套结构化的配置组件,各组件总体以用途划分,分别控制不同作用域的行为。

 

image.png

 

组件名称

描述

范围

是否必须配置

application

指定应用名等应用级别相关信息

一个应用内只允许出现一个

必选

service

声明普通接口或实现类为Dubbo服务

一个应用内可以有0到多个service

service/reference至少一种

reference

声明普通接口为Dubbo服务

一个应用内可以有0到多个reference

service/reference至少一种

protocol

要暴露的RPC协议及相关配置如端口号等

一个应用可配置多个,一个protocol可作用于一组service&reference

可选,默认dubbo

registry

注册中心类型、地址及相关配置

一个应用内可配置多个,一个registry可作用于一组service&reference

必选

config-center

配置中心类型、地址及相关配置

一个应用内可配置多个,所有服务共享

可选

metadata-report

元数据中心类型、地址及相关配置

一个应用内可配置多个,所有服务共享

可选

consumer

reference间共享的默认配置

一个应用内可配置多个,一个consumer可作用于一组reference

可选

provider

service间共享的默认配置

一个应用内可配置多个,一个provider可作用于一组service

可选

monitor

监控系统类型及地址

一个应用内只允许配置一个

可选

metrics

数据采集模块相关配置

一个应用内只允许配置一个

可选

ssl

ssl/tls安全链接相关的证书等配置

一个应用内只允许配置一个

可选

 

注:

从实现原理层面,最终Dubbo所有的配置项都会被组装到URL中,以URL为载体在后续的启动、RPC调用过程中传递,进而控制框架行为。如想了解更多,请参照Dubbo源码解析系列文档或Blog。

 

各组件支持的具体配置项及含义请参考配置项手册

 

1) service与reference

 

service与reference是Dubbo最基础的两个配置项,它们用来将某个指定的接口或实现类注册为Dubbo服务,并通过配置项控制服务的行为。

 

service用于服务提供者端,通过service配置的接口和实现类将被定义为标准的Dubbo服务,从而实现对外提供RPC请求服务。

 

reference用于服务消费者端,通过reference配置的接口将被定义为标准的Dubbo服务,生成的proxy可发起对远端的RPC请求。

 

一个应用中可以配置任意多个service与reference。

 

2) consumer与provider

 

当应用内有多个reference配置时,consumer指定了这些reference共享的默认值,如共享的超时时间等以简化繁琐的配置,如某个reference中单独设置了配置项值则该reference中的配置优先级更高。

 

当应用内有多个service配置时,provider指定了这些service共享的默认值,如某个service中单独设置了配置项值则该service中的配置优先级更高。

 

注:

consumer组件还可以对reference进行虚拟分组,不通分组下的reference可有不同的consumer默认值设定;如在XML格式配置中,标签可通过嵌套在标签之中实现分组。provider与service之间也可以实现相同的效果。

 

《Apache Dubbo微服务开发从入门到精通》——配置手册—— 一、 配置概述(下): https://developer.aliyun.com/article/1225178

相关文章
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
1239 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
Java 关系型数据库 数据库
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——Spring Boot 事务配置
本文介绍了 Spring Boot 中的事务配置与使用方法。首先需要导入 MySQL 依赖,Spring Boot 会自动注入 `DataSourceTransactionManager`,无需额外配置即可通过 `@Transactional` 注解实现事务管理。接着通过创建一个用户插入功能的示例,展示了如何在 Service 层手动抛出异常以测试事务回滚机制。测试结果表明,数据库中未新增记录,证明事务已成功回滚。此过程简单高效,适合日常开发需求。
1625 0
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
282 0
|
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 格式,因其层次清晰,但需注意格式要求。
1150 0
|
Java 数据库连接 微服务
微服务——MyBatis配置——事务管理
本段内容主要介绍了事务管理的两种类型:JDBC 和 MANAGED。JDBC 类型直接利用数据源连接管理事务,依赖提交和回滚机制;而 MANAGED 类型则由容器全程管理事务生命周期,例如 JEE 应用服务器上下文,默认会关闭连接,但可根据需要设置 `closeConnection` 属性为 false 阻止关闭行为。此外,提到在使用 Spring + MyBatis 时,无需额外配置事务管理器,因为 Spring 模块自带的功能可覆盖上述配置,且这两种事务管理器类型均无需设置属性。
205 0
|
Java 数据库连接 数据库
微服务——MyBatis配置——多环境配置
在 MyBatis 中,多环境配置允许为不同数据库创建多个 SqlSessionFactory。通过传递环境参数给 SqlSessionFactoryBuilder,可指定使用哪种环境;若忽略,则加载默认环境。`environments` 元素定义环境配置,包括默认环境 ID、事务管理器和数据源类型等。每个环境需唯一标识,确保默认环境匹配其中之一。代码示例展示了如何构建工厂及配置 XML 结构。
197 0
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
1762 0
|
缓存 Java 应用服务中间件
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——依赖导入和Thymeleaf相关配置
在Spring Boot中使用Thymeleaf模板,需引入依赖`spring-boot-starter-thymeleaf`,并在HTML页面标签中声明`xmlns:th="http://www.thymeleaf.org"`。此外,Thymeleaf默认开启页面缓存,开发时建议关闭缓存以实时查看更新效果,配置方式为`spring.thymeleaf.cache: false`。这可避免因缓存导致页面未及时刷新的问题。
463 0
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
571 0
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
在微服务架构中,随着业务复杂度增加,项目可能需要调用多个微服务。为避免使用`@Value`注解逐一引入配置的繁琐,可通过定义配置类(如`MicroServiceUrl`)并结合`@ConfigurationProperties`注解实现批量管理。此方法需在配置文件中设置微服务地址(如订单、用户、购物车服务),并通过`@Component`将配置类纳入Spring容器。最后,在Controller中通过`@Resource`注入配置类即可便捷使用,提升代码可维护性。
254 0

推荐镜像

更多