apollo配置中心搭建详细记录

1、简介


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

官方github:https://github.com/ctripcorp/apollo

1.1 流程图示

网上教学文档挺多的,我就不多做文字描述 看下架构图

这边是携程的架构图  4个环境 做了集群   portal 只需在一个环境部署 apolloPortalDB数据库也是一样 

admin和config每个环境都需要部署当然 他们依赖的apolloConfigDB也要一起部署 

这边有个小细节  注册中心用了一个外部项目  根据携程介绍  Config Service 是可以作为注册中心的 自己可以向自己注册的

 

apollo配置中心搭建详细记录_第1张图片

下面为精简版

apollo配置中心搭建详细记录_第2张图片

2 部署

      像环境之类的就不多介绍了    jdk1.8   mysql 5.6+  

 

     2.1 数据库创建 

       我这边是从github上直接拉apollo的源码,到源码中找到sql的文件的

       apollo配置中心搭建详细记录_第3张图片

      到数据库中执行 生成两个库

      apollo配置中心搭建详细记录_第4张图片

       主要介绍几个关键的地方

     上图中 eureka.service.url  value为实际eureka注册中心的地址  需要根据实际情况更改 如果有多个可以以 逗号 分隔

apollo.portal.envs  支持多个环境 默认为dev   可以手动添加 例 dev,fat 

下面的部门可以根据自己的实际情况修改  

apollo配置中心搭建详细记录_第5张图片

 

2.2 项目发布

         获取项目包有两种方式 一种到github上直接下载  地址:https://github.com/ctripcorp/apollo/releases/tag/v1.4.0

         还有一种是源码构建  看各位的需求 

         最终获得3个zip包

  2.2.1  解压 

         一般zip包用 tar命令可能会失败,可以选择使用unzip命令,可能会提示命令无效,因为没有安装这个命令

        可以通过 yum -y install zip unzip   下载命令即可

 

 2.2.2  配置

         压缩包解压成功后,需要进行配置

         

         每个项目都有这个配置文件  在config目录下  里面就是数据库的配置 根据各服务器进行配置

# DataSource
spring.datasource.url = jdbc:mysql://ip:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = 用户名
spring.datasource.password = 密码

         portal包中多一个配置文件  主要是配置各个环境的注册中心的地址

#local.meta=http://localhost:8080
dev.meta=http://fill-in-fat-meta-server:8060

#fat.meta=http://fill-in-fat-meta-server:8080
#uat.meta=http://fill-in-uat-meta-server:8080
#lpt.meta=${lpt_meta}
#pro.meta=http://fill-in-pro-meta-server:8080

每个环境的eureka 地址  根据实际修改

然后是启动命令    每个项目都在scripts目录下的  start.sh   

apollo配置中心搭建详细记录_第6张图片

  这些都是可以自定义的 根据实际情况设置

最后  ./start.sh    命令启动   config >> admin >> portal 依次启动  

 

--------------------------------------------更新一下-----------------------------------

因为我使用的是携程官方的包,遇到一个问题,纠结了好长时间,我使用的是阿里云服务器,使用apllo的config service (官方包 非自己打包)作为注册中心 ,我做测试的时候访问的是阿里云的公网ip,然后就一直连不上 config 的注册中心,一直会改变成阿里的内网,如下配置

#这个是默认以ip形式访问
eureka.instance.prefer-ip-address=true
#这个是指定ip访问  apollo中默认未加
eureka.instance.ip-address=172.12.9.0

所以一直会出现ip改变的问题  分享一下  希望能帮到各位

--------------------------------更新一下多环境的apollo配置--------------------------------

上面的图已经描述的很清晰了   主要几个改动点

portal 需要管理不同的环境   首先需要有可以支持的的环境   serverconfig

 

然后portal中需要配置每个环境的meta-server  有几个环境就配置几个

 

apollo配置中心搭建详细记录_第7张图片

apollo配置中心搭建详细记录_第8张图片

这样 apollo 就管理了多个环境了

 

完结  撒花

 

欢迎指正

 

努力,奋斗!

    

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(学习,配置)