2.0.0 新特性介绍: 多配置中心支持

    配置中心是微服务架构下一个非常重要的中间件,通过配置中心用户可以增加和删除配置信息,配置信息会通过不同的通知机制(通常包括 PULL 和 PUSH), 将配置的变化推送到微服务实例。 java-chassis 允许用户使用不同的配置中心, 目前支持用户使用如下几种配置中心:

    • 华为云配置中心

    华为云配置中心是华为云CSE产品的一个部件,java-chassis 最早使用它作为配置中心。 对接这个配置中心的代码在 config-cc 模块实现。 可以从轻量化微服务引擎下载本地使用的版本。也可以 直接访问华为云 产品,使用在线的版本。

    使用华为云配置中心,需要在项目中引入如下依赖:

    然后在配置文件 microservice.yaml 中增加如下配置项:

    1. config:
    2. client:
    3. serverUri: http://127.0.0.1:30113
    4. refreshMode: 0
    5. refresh_interval: 5000
    6. refreshPort: 30114
    • 使用 servicecomb-kie

    servicecomb-kie 是全新设计的配置中心。 从 2.0.0 版本开始, java-chassis 支持使用 servicecomb-kie。 从 2.0.1 版本开始, java-chassis 默认使用long polling 拉取 servicecomb-kie 配置,来节省间隔轮询带来的网络消耗。 servicecomb-kie 的安装指导可以参考官网文档。 在 java-chassis 中使用 servicecomb-kie, 需要引入下面的依赖:

    然后在配置文件 microservice.yaml 中增加如下配置项:

    1. kie:
    2. serverUri: http://127.0.0.1:30110
    3. refresh_interval: 5000
    4. firstRefreshInterval: 5000
    5. domainName: default

    servicecomb-kie 的配置项及其含义如下:

    配置项名描述
    servicecomb.kie.domainName区域名称,默认为default
    servicecomb.kie.serverUriservicecomb-kie访问地址,格式为http(s)://{ip}:{port},以,分隔多个地址
    servicecomb.kie.refresh_intervalpull模式下刷新配置项的时间间隔,单位为毫秒,默认值为3000
    servicecomb.kie.firstRefreshIntervalpull模式下启动过程中首次刷新时间间隔,单位为毫秒,默认值为3000
    • 使用 nacos

    是 alibaba 提供的配置中心。 java-chassis 从 2.0.0 版本支持 nacos。 nacos的下载安装请参考官网介绍。

    然后在配置文件 microservice.yaml 中增加如下配置项:

    1. servicecomb:
    2. nacos:
    3. serverUri: http://127.0.0.1:8848
    4. group: DEFAULT_GROUP

    Apollo 是携程框架部门研发的分布式配置中心。 Apollo的下载安装请参考官网介绍。

    然后在配置文件 microservice.yaml 中增加如下配置项:

    1. apollo:
    2. config:
    3. serverUri: http://127.0.0.1:8070
    4. serviceName: apollo-test
    5. env: DEV
    6. clusters: test-cluster
    7. namespace: application
    8. token: xxx
    9. refreshInterval: 30
    10. firstRefreshInterval: 0

    参与配置源的开发和贡献

    2.0.0 版本提供了4种配置源的支持, 如果采用 Spring Boot 运行模式, 由于 Java Chassis 继承和适配了 Spring Boot 的 配置源, 因此 Spring Boot 采用的配置源也可以平滑的被 Java Chassis 应用程序使用。 比如 Java Chassis 在 Spring Boot 集成模式下使用 application.yml 作为配置文件, 可以使用 git 作为动态配置源。

    Java Chassis 的配置扩展是基于 archaius, 开发者只需要实现 ConfigCenterConfigurationSource, 即可以接入其他配置中心。 Java Chassis 的源码目录 config-cc, config-apollo, config-kie, config-nacos 分别实现了 这个接口。