在一个服务器上进行Apollo多环境配置部署

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

单环境快速部署

  1. Apollo多环境分部式部署Github 地址
    分布式部署指南
    在一个服务器上进行Apollo多环境配置部署不同于分布式部署中的多个服务器,我们可以采用同一服务器不同端口和不同appId进行环境区分

  2. 环境准备
    Centos7
    Java1.8
    Mysql5.6
    数据库安装步骤省略

yum install -y java-1.8.0-openjdk-devel

jar包下载地址:https://github.com/ctripcorp/apollo/releases/tag/v1.5.0
也可选择自己想要的版本: https://github.com/ctripcorp/apollo/releases

如果是多套环境,需要一个portal,然后每个环境中需要一个apollo-adminservice和apollo-configservice, 将解压后的apollo-adminservice和apollo-configservice目录分别归置到不通环境的目录下:可以参考一下目录结构将文件放入相应的路径下。test目录实为dev

mkdir apollo/{pro,dev,sql} -p
mkdir  apollo/pro/apollo-adminservice&& unzip  -d apollo/pro/apollo-adminservice/  apollo-adminservice-1.5.1-github.zip
mkdir  apollo/pro/apollo-configservice && unzip  -d apollo/pro/apollo-configservice/  apollo-configservice-1.5.1-github.zip
mkdir  apollo/dev/apollo-adminservice&& unzip  -d apollo/dev/apollo-adminservice/  apollo-adminservice-1.5.1-github.zip
mkdir  apollo/dev/apollo-configservice && unzip  -d apollo/dev/apollo-configservice/  apollo-configservice-1.5.1-github.zip

多环境Apollo目录结构

  1. 数据库配置
    获取路径 https://github.com/ctripcorp/apollo/tree/master/scripts/sql
    多环境部署的数据库是一个portal库,每个环境一个配置库
    在这里插入图片描述

将sql 到入数据库中

source  apollo/sql/apolloportaldb.sql
source apollo/sql/proapolloconfigdb.sql (修改sql中的数据库name)
source apollo/sql/testapolloconfigdb.sql (修改sql中的数据库name)

通过以下SQL简单验证是否导入成功

select `Id`, `Key`, `Value`, `Comment` from `ApolloPortalDB`.`ServerConfig` limit 1;

在这里插入图片描述

select `Id`, `Key`, `Value`, `Comment` from `ApolloConfigDB`.`ServerConfig` limit 1;

在这里插入图片描述
修改ApolloPortalDB.ServerConfig 环境列表Value 值为需要的环境,中间用’,'隔开,注意:环境名称必须是指定的dev,uat,fat,pro 值,如需添加新的环境需要修改源码。

update ServerConfig set Value = 'dev,pro' where Id = 1;

修改proapolloconfigdb.ServerConfig eureka服务url的 Value 值区别于dev环境

update ServerConfig set Value = 'http://localhost:8082/eureka/'  where Id = 1;
  1. 修改程序配置文件

修改pro环境的 appId 和端口,使每个环境的apollo-adminservice 和apollo-configservice 的 appId和端口不同,每个环境中adminservice和configservice 各配置文件的appId和端口保持一致,注意:configservice 配置文件中的端口要和数据库中的eureka服务url的 Value 值的端口保持一致

每个环境下adminservice的配置文件修改
apollo/pro/apollo-adminservice/scripts/startup.sh 第2,4行
apollo/pro/apollo-adminservice/config/app.properties 第1行
apollo/pro/apollo-adminservice/apollo-configservice.conf 第3行

每个环境下configservice的配置文件修改
apollo/pro/apollo-configservice/scripts/startup.sh
apollo/pro/apollo-configservice/config/app.properties
apollo/pro/apollo-configservice/apollo-configservice.conf

修改数据库连接信息
apollo/pro/apollo-adminservice/config/application-github.properties
apollo/pro/apollo-configservice/config/application-github.properties
apollo/pro/apollo-portal/config/application-github.properties

apollo/dev/apollo-adminservice/config/application-github.properties
apollo/dev/apollo-configservice/config/application-github.properties
apollo/dev/apollo-portal/config/application-github.properties

5.启动程序

#!/bin/bash
for env in "pro" "dev"
do
sh /usr/local/apollo/${env}/adminservice/scripts/startup.sh \
&& sh /usr/local/apollo/${env}/configservice/scripts/startup.sh
done
sh  /usr/local/apollo/portal/scripts/startup.sh

访问: http://localip:8070

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值