配置服务 apollo 部署实践

 

前言

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

  • github 地址:https://github.com/ctripcorp/apollo
  • 服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器
  • Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持
  • .Net客户端不依赖任何框架,能够运行于所有.Net运行时环境
  • 以上摘抄自官方文档,该框架目前已达 9000 多个 star,而且目前已经支持了 .netcore 客户端

安装

服务器环境安装检查

    由于本次是按照正式环境来模拟一次部署,所以,按照官方指引,正式环境部署并不建议使用 Quick Start;接下来打开官方“分布式部署”指引文档:https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97

  • 首先是检查服务器是否安装了 Java 环境,在服务器输入 java -version

  • 可以看到,服务已经安装,如果没有安装,这输入 yum install java-1.8.0-openjdk(本次使用的服务器为 Centos 7.0)。
数据库检查

    官方要求数据库为 MySQL,版本要求:5.6.5+,我在这里使用了 MariaDB 10.3,效果相同,安装好数据库后,下载官方 SQL 文件,执行,创建 apollo 所需的数据库。数据库文件一共有两个

  • ApolloPortalDB 同理,可以看到,数据库已经成功安装
安装服务和 web 管理控制台

    服务一共有 3 个实例,都从这里下载:https://github.com/ctripcorp/apollo/releases,我直接下载作者编译好的 zip 文件

下面简单介绍各个服务以及用途

  • apollo-configservice apollo 配置文件服务,该服务直接对外提供服务,同时需要在 portal 进行元数据注册,下面修改该服务的数据库配置文件。
    修改配置文件 /apollo-configservice-1.1.2/config/application-github.properties 为刚才数据库的配置
spring.datasource.url = jdbc:mysql://127.0.0.1:3406/ApolloConfigDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = root
  • apollo-adminservice-1.1.2 web 管理服务,同样修改其配置文件 apollo-adminservice-1.1.2/config/application-github.properties 为 ApolloConfigDB 数据库的地址,同上。
  • apollo-portal-1.1.2 元数据服务,修改配置文件 apollo-portal-1.1.2/config/application-github.properties,注意,这里的数据必须为 ApolloPortalDB ,如下:
spring.datasource.url = jdbc:mysql://127.0.0.1:3406/ApolloPortalDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = root
  • 最后,还需要修改 apollo-portal-1.1.2/config/apollo-env.properties 文件,将 configservice 都注册到 portalservice 中
local.meta=http://localhost:8080 dev.meta=http://172.16.1.220:8080 fat.meta=http://172.16.1.220:8080 uat.meta=http://172.16.1.220:8080 lpt.meta=${lpt_meta} pro.meta=http://172.16.1.227:8080

启动和修改配置

    在上面做好三个服务端配置后,下面我们就可以逐一的启动各个服务了,各自服务端监听端口都位于 xxx/scripts/startup.sh 中

  • 执行 sh apollo-configservice-1.1.2/scripts/startup.sh 启动 config 服务,监听端口默认:8080
  • 执行 sh apollo-portal-1.1.2/scripts/startup.sh 启动 portal 服务,监听端口默认:8070
  • 执行 sh apollo-adminservice-1.1.2/scripts/startup.sh 启动 admin 服务,监听端口默认:8090

如果输出看到以上三个服务都输出信息为,证明服务启动成功

Waiting for server startup.... Mon Nov 19 11:07:15 CST 2018 Server started 

                    
                
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信