欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Apollo配置中心搭建

程序员文章站 2022-07-12 11:46:58
...
  • 下载源码

    https://github.com/ctripcorp/apollo

  • 执行SQL文件

    导入 scripts/sql 文件夹下的两个sql文件(apolloconfigdb.sql、apolloportaldb.sql)

  • 修改eureka配置

    分别修改apollo-adminserviceapollo-configservice 下的**\src\main\resources** 中的bootstrap.yml 文件,修改 eureka 的 hostname

  • 打包

    执行 scripts 下的 build.batbuild.sh,执行完后,会在apollo-adminserviceapollo-configserviceapollo-portal 生成对应的包

  • 修改配置

    分别解压apollo-adminserviceapollo-configserviceapollo-portal打包后生成的包

    修改apollo-configservice-1.2.0-SNAPSHOT-github\config下的 application-github.properties 改为对应的数据库连接,apollo-adminservice-1.2.0-SNAPSHOT-githubapollo-portal-1.2.0-SNAPSHOT-github 同理。

    修改 apollo-portal-1.2.0-SNAPSHOT-github\config 下的 apollo-env.properties ,修改各环境meta service服务地址,如果某个环境不需要,也可以直接删除对应的配置项。(注:地址为apollo-configservice的地址)

  • 调整服务端配置

    配置项统一存储在ApolloPortalDB.ServerConfig表中,也可以通过管理员工具 - 系统参数页面进行配置

    apollo.portal.envs - 可支持的环境列表

    默认值是dev,如果portal需要管理多个环境的话,以逗号分隔即可(大小写不敏感),如:

    DEV,FAT,UAT,PRO
    
  • 调整ApolloConfigDB配置

    配置项统一存储在ApolloConfigDB.ServerConfig表中,需要注意每个环境的ApolloConfigDB.ServerConfig都需要单独配置。

    不管是apollo-configservice还是apollo-adminservice都需要向eureka服务注册,所以需要配置eureka服务地址。 按照目前的实现,apollo-configservice本身就是一个eureka服务,所以只需要填入apollo-configservice的地址即可,如有多个,用逗号分隔(注意不要忘了/eureka/后缀)

  • 启动

    把改好的三个项目上传到服务器

    分别运行 scripts 下的 startup.sh (注:先启动 apollo-configservice,再启动 apollo-adminservice,最后启动 apollo-portal ),对应的端口分别为 8080、8090、8070,如需修改端口,可以修改 startup.sh中的 SERVER_PORT

  • 访问apollo

    输入 http://ip:8070 打开apollo配置中,初始用户为 apollo/admin

    输入 http://ip:8080 打开eureka

  • apollo与springboot项目整合

    1、在配置中心创建对应的项目

    2、在springboot项目中导入apollo依赖 (注:依赖的版本与配置中心使用的版本保持一致)

    <dependency>
          <groupId>com.ctrip.framework.apollo</groupId>
          <artifactId>apollo-client</artifactId>
          <version>1.1.2</version>
     </dependency>
     <dependency>
          <groupId>com.ctrip.framework.apollo</groupId>
          <artifactId>apollo-core</artifactId>
          <version>1.1.2</version>
      </dependency>
    

    3、在springboot项目的 resource下新建 META-INFO/app.properties , app.id 对应apollo配置中心创建的项目的id

    app.id=test
    

    4、新建 opt\settings\server.properties,Windows系统为“C:\opt\settings\server.properties

    apollo.meta=http://172.16.9.20:8080
    env=DEV
    

    apollo.meta 对应 apollo-configservice的地址,env对应支持的环境

    5、在springboot项目的启动类加上 @Configuration、@EnableApolloConfig 注解

    6、把springboot项目的application.properties(如果是yml类型的文件先转成properties文件)文件拷贝到配置中心,发布,最后把springboot项目中的application配置文件删除。

    7、正常启动springboot项目,启动时会在opt\data\项目id\config-cache下生成对应的properties文件

相关标签: Apollo