zoukankan      html  css  js  c++  java
  • spring cloud 集成分布式配置中心 apollo(单机部署apollo)

    一、什么是apollo?

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

    image.png

    二、为什么我要集成apollo?

    阿波罗特性:
    image.png

    由于apollo相比spring cloud config等主流配置中心多了可视化管理配置和灰度发布等高级特性,所以打算放弃spring cloud config 改用apollo。

    三、部署apollo

    1.到github apollo的release页面下载需要的三个zip包。
    https://github.com/ctripcorp/apollo/releases
    image.png

    2.安装mysql,然后运行如下两个apollo初始化脚本,初始化两个基本库。

    https://github.com/nobodyiam/apollo-build-scripts/blob/master/sql/apolloportaldb.sql

    https://github.com/nobodyiam/apollo-build-scripts/blob/master/sql/apolloconfigdb.sql

    3.将三个zip包上传到服务器并解压,每个zip包解压出来都有一个application-github.properties文件,修改其中的mysql ip地址、端口、用户名、密码信息,指向本地的mysql数据库,然后注意将application-github.properties文件放在jar包同级目录,如下是我的目录结构和application-github.properties文件内容。

    [root@localhost apollo]# ls
    admin-service  config-service  protal
    
    [root@localhost admin-service]# ls
    apollo-adminservice-1.4.0.jar  application-github.properties  app.properties  shutdown.sh  startup.sh
    
    [root@localhost protal]# ls
    apollo-env.properties  apollo-portal-1.4.0.jar  application-github.properties  app.properties  shutdown.sh  startup.sh
    
    [root@localhost config-service]# ls
    apollo-configservice-1.4.0.jar  application-github.properties  app.properties  shutdown.sh  startup.sh
    
    spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
    spring.datasource.username = root
    spring.datasource.password = 123456
    

    4.修改portal目录下的apollo-env.properties文件,填上对应的各个环境配置中心地址,我是单机版所以都填了本地:

    [root@localhost protal]# cat apollo-env.properties 
    local.meta=http://localhost:8080
    dev.meta=http://localhost:8080
    fat.meta=http://localhost:8080
    uat.meta=http://localhost:8080
    lpt.meta=${lpt_meta}
    pro.meta=http://localhost:8080
    

    5.依次运行三个jar包:
    java -jar apollo-configservice-1.4.0.jar
    java -jar apollo-adminservice-1.4.0.jar
    java -jar apollo-portal-1.4.0.jar

    6.浏览器访问http://192.168.153.131:8070,看到如下界面说明启动成功,初始用户名密码为:apollo/admin
    image.png

    四、spring cloud(boot)客户端集成apollo

    1.在应用pom.xml添加如下maven依赖:

            <!-- 阿波罗配置中心客户端 -->
            <dependency>
                <groupId>com.ctrip.framework.apollo</groupId>
                <artifactId>apollo-client</artifactId>
                <version>1.1.0</version>
            </dependency>
    

    2.在src/main/resources/META-INF目录下增加app.properties文件,内容如下:

    app.id=你自己的应用唯一标识,和apollo管理后台添加的项目appid对应
    apollo.autoUpdateInjectedSpringProperties=true
    

    application.yml文件增加如下配置:

    apollo:
      meta: http://部署apollo服务器的ip:8080
      bootstrap:
        enabled: true
        eagerLoad:
          enabled: true
    

    3.在代码中添加如下属性和注解即可使用apollo后台配置好的信息,apollo管理后台修改后1秒即可生效,无需重启应用服务器:
    image.png

        @Value("${name}")
        private String name;
    

    后续继续更新分布式部署apollo。

  • 相关阅读:
    ABAP中COLLECT的用法
    中文字符串提交乱码的解决方法
    我的Ubuntu系统
    SAP消息呈现
    ASP.NET博客站点全静态化的困扰
    JS利用函数修改全局变量
    让电脑速度增快几倍的法宝
    我的Ubuntu门派
    给老乡买本本的经历
    多事之秋
  • 原文地址:https://www.cnblogs.com/powerjiajun/p/11295340.html
Copyright © 2011-2022 走看看