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
访问页面
2. 使用
2.1 灰度发布
选择不同机器进行灰度发布,。