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。

  • 相关阅读:
    hdu 4710 Balls Rearrangement()
    hdu 4707 Pet(DFS水过)
    hdu 4706 Children's Day(模拟)
    hdu 4712 Hamming Distance(随机函数暴力)
    csu 1305 Substring (后缀数组)
    csu 1306 Manor(优先队列)
    csu 1312 榜单(模拟题)
    csu 1303 Decimal (数论题)
    网络爬虫
    Python处理微信利器——itchat
  • 原文地址:https://www.cnblogs.com/powerjiajun/p/11295340.html
Copyright © 2011-2022 走看看