apollo配置中心简单介绍

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

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。

.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境。

简单的说:在分布式架构里面,因为配置文件太多了,为了很好的管理这些配置,专门整了一个配置中心来做这件事情。至于为什么不用spring cloud config,还是因为他不好用,spring cloud config是基于git的一个配置中心,也是由于这个原因导致了他的一些局限性。


apollo配置中心部署建议

环境:

DEV(开发环境)、FAT(测试环境)、UAT(预发布环境)、PRO(生产环境)

每一套环境都需要有一套单独的admin-server、config-server,同时为了保障生产环境的高可用我们可以集群部署两个节点。

而所有的这些环境都交给PORTAL SERVER来进行管理,PORTAL SERVER就是一个可视化页面,方便我们对配置进行管理。


部署目标

我们需要把DEV、FAT、UAT三套环境的服务部署在同一台Linux主机上

PRO生产环境的服务进行单独部署,同时部署两个节点。


部署

按命令操作:

  1. cd /usr/local/src

  2. mkdir apollo

  3. cd apollo

  4. 以上步骤创建了一个文件夹apollo,接下来我们需要把apollo的安装包下载下来apollo安装包

  5. image.png

  6. 当前最新发布的版本这三个,分别点击右键复制连接,然后执行以下三条命令,将安装包下载下来

  7. wget https://github.com/ctripcorp/apollo/releases/download/v1.2.0/apollo-adminservice-1.2.0-github.zip

  8. wget https://github.com/ctripcorp/apollo/releases/download/v1.2.0/apollo-configservice-1.2.0-github.zip

  9. wget https://github.com/ctripcorp/apollo/releases/download/v1.2.0/apollo-portal-1.2.0-github.zip

  10. 创建2个文件夹dev、portal

  11. mkdir dev

  12. mkdir portal

  13. 进入dev文件夹再创建两个文件夹admin、config

  14. cd dev

  15. mkdir admin

  16. mkdir config

  17. 做了这么多准备,主要还是要让我们的文件有条理一些~

  18. 对了,还有portal的数据库以及config的数据库没有建立

  19. portal.sql(保存可视化页面的一些数据),config.sql(保存各个环境的配置数据)

  20. 统统copy下来运行

  21. image.png

  22. 注意:config.sql我们修改了库名,叫做ApolloConfigDB_dev,表示这个数据库是用来存放dev环境的

  23. image.png

  24. 回到apollo文件夹,解压安装包

  25. cd ../

  26. mv apollo-portal-1.2.0-github.zip portal

  27. cd portal

  28. unzip apollo-portal-1.2.0-github.zip

  29. 修改配置

  30. cd config

  31. vi application-github.properties

  32. 把配置改成我们刚才建立的数据库,然后保存

  33. image.png

  34. cd ../scripts

  35. ./startup.sh

  36. 这样portal就搭建好啦~启动成功之后访问${ip}:8070,出现下面这个页面就说明portal已经部署好了默认的账号密码:apollo admin 

  37. image.png

  38. 接下来我们部署dev环境的服务(下次再写。。)