apollo 搭建使用

390 阅读2分钟

1. 部署

1.1 入门demo部署

直接使用docker-compose命令搞定:参见(快速入门

1.2 分布式多环境部署

下载相应jar

以1.8.2版本为例 (点击跳转),下载红框中的内容;

这里选取两个apollo 默认支持的环境(DEV、FAT)进行配置;

配置架构图

由上图,需要部署两个环境、3种服务;

为了方便,我们的部署目录如下:

portal: 不区分环境 解压相应的zip

dev:

apollo-adminservice: 解压相应的zip

apollo-configservice: 解压相应的zip

fat:

apollo-adminservice: 解压相应的zip

apollo-configservice: 解压相应的zip

数据环境搭建

导入如下数据库

apollo-1.8.2/scripts/sql/apolloconfigdb.sql (📎apolloconfigdb.sql ) 整成两份,一个DEV,一个FAT

apollo-1.8.2/scripts/sql/apolloportaldb.sql    ( 📎apolloportaldb.sql

配置适配

部署脚本适配

apollo-portal:


config/application-github.properties:

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8\
spring.datasource.username = root\
spring.datasource.password =

scripts/apollo-env.properties:

dev.meta=http://localhost:9001    

fat.meta=http://localhost:9002

scripts/startup.sh:

SERVER_PORT=${SERVER_PORT:=8070}

dev:


apollo-configservice:

config/application-github.properties:

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB_DEV?characterEncoding=utf8\
spring.datasource.username = root\
spring.datasource.password =

scripts/startup.sh:

SERVER_PORT=${SERVER_PORT:=9001}

apollo-adminservice:

config/application-github.properties:

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB_DEV?characterEncoding=utf8\
spring.datasource.username = root\
spring.datasource.password =

scripts/startup.sh:

SERVER_PORT=${SERVER_PORT:=9011}

fat:



apollo-configservice:

config/application-github.properties:

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB_FAT?characterEncoding=utf8\
spring.datasource.username = root\
spring.datasource.password =

scripts/startup.sh:

SERVER_PORT=${SERVER_PORT:=9002}

apollo-adminservice:

config/application-github.properties:

spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB_FAT?characterEncoding=utf8\
spring.datasource.username = root\
spring.datasource.password =

scripts/startup.sh:

SERVER_PORT=${SERVER_PORT:=9012}

部署数据库适配

ApolloConfigDB_DEV.ServerConfig 修改标注项
1 eureka.service.url default http://localhost:9001/eureka/ Eureka服务Url,多个service以英文逗号分隔 0 default 2021-08-19 11:29:09  2021-08-20 03:02:36

ApolloConfigDB_FAT.ServerConfig 修改标注项

1 eureka.service.url default http://localhost:9002/eureka/ Eureka服务Url,多个service以英文逗号分隔 0 default 2021-08-19 11:29:09  2021-08-20 03:02:36

ApolloPortalDB.ServerConfig 修改标注项

1 apollo.portal.envs dev,fat 可支持的环境列表 0 default 2021-08-19 11:28:49  2021-08-19 11:29:39

启动服务

启动脚本

#!/bin/bash
echo "===  启动apollo 服务 ==="
cd /Users/liupenghao/work/idea/mime/apollo || exit

echo "<-----  dev start ----->"
./dev/apollo-configservice/scripts/startup.sh
./dev/apollo-adminservice/scripts/startup.sh
echo "<----- dev finish>"

echo "<-----  fat start ----->"
./fat/apollo-configservice/scripts/startup.sh
./fat/apollo-adminservice/scripts/startup.sh
echo "<-----  uat finish >"

echo "------ portal apollo 服务启动"
./apollo-portal/scripts/startup.sh

停止脚本

#!/bin/bash
echo "===  停止apollo 服务 ==="
cd /Users/liupenghao/work/idea/mime/apollo || exit

echo "<-----  dev stop ----->"
./dev/apollo-configservice/scripts/shutdown.sh
./dev/apollo-adminservice/scripts/shutdown.sh
echo "<----- dev finish>"

echo "<-----  fat stop ----->"
./fat/apollo-configservice/scripts/shutdown.sh
./fat/apollo-adminservice/scripts/shutdown.sh
echo "<-----  fat finish >"

echo "------ portal apollo 服务stop"
./apollo-portal/scripts/shutdown.sh

访问页面

http://localhost:8070

2. 使用

2.1 灰度发布

选择不同机器进行灰度发布,。

3. 番外篇

3.1 如何实现自定义的环境名称

3.2 如何接入内部登录SSO系统

参见文章

携程 Apollo 配置中心架构深度剖析

Apollo-官方使用文档

github-DEV和FAT多环境部署项目