• Apollo客户端组件


    组件编码 hzero-starter-apollo-config

    在Spring Cloud体系下要使用Apollo配置中心,需要做一些处理,服务依赖本组件,则可以使用Apollo配置中心进行配置管理,介绍一些HZERO使用Apollo配置中心需要做的一些处理过程

    替换步骤简介

    1. 去除HZERO默认的配置中心hzero-config
    2. 加入apollo-config相关依赖
    3. 加入apollo-config相关配置

    依赖

    <dependency>
        <groupId>org.hzero.starter</groupId>
        <artifactId>hzero-starter-apollo-config</artifactId>
    </dependency>
    

    配置

    第一步

    根据apollo文档介绍,必须在资源根路径下/META-INF文件夹下存在app.properties文件,并指定appId。

    appId=hzero-gateway
    

    第二步

    由于apollo能支持加载bootstrap配置前的配置,所以需要这样去指定:

    【开发应用时】

    idea界面,在运行按钮左侧处编辑运行配置,在VM Options一栏填入-Denv=dev -Dapollo.meta=http://localhost:8080

    【部署应用时】

    在java -jar app.jar -Denv=dev -Dapollo.meta=http://localhost:8080

    以上作为示例,请以真实环境配置。

    第三步

    在引导程序上开启apollo配置,并指定namespaces等配置

    @EnableHzeroApolloConfig({
            "application",
            "application2"
    })
    

    关于@EnableHzeroApolloConfig的使用,与@EnableApolloConfig使用方式完全一致。

    为了便于HZERO对apollo-client的增强,所以使用了新的注解@EnableHzeroApolloConfig代替原生的@EnableApolloConfig。

    第四步

    在bootstrap.yml文件中可以增加如下配置:

    spring:
      cloud:
        apollo:
          config:
            # 默认开启
            enable: true
            # 监听配置, 可以筛选监听key
            listener:
              interestedKeys: com.xcxcxcxcx.name
              interestedKeyPrefixes: zuul.
    

    这两条配置表示对apollo监听的配置的筛选,如:

    interestedKeyPrefixes=zuul.表示仅监听key为“zuul.”开头的配置

    interestedKeys=com.xcxcxcxcx.name表示仅监听key为“com.xcxcxcxcx.name”的配置

    Note

    hzero-starter-apollo-config基于1.4.0的apollo-client实现的,如果使用apollo-server版本过低,可能出现兼容性问题。