Spring Cloud 系列之 Apollo 配置中心(三)

Spring Cloud 系列之 Apollo 配置中心(一)

Spring Cloud 系列之 Apollo 配置中心(二)

本篇文章讲解 Apollo 多环境部署方案,教大家搭建除了 DEV 的其他环境。

多环境部署方案

点击链接观看:Apollo 多环境部署说明视频(获取更多请关注公众号「哈喽沃德先生」)

为了让大家有更真实的感受,多环境部署方案我们在 Linux 环境下搭建,不再使用 Quick Start 脚本。

当项目要上线部署到生产环境时,项目的配置比如数据库、缓存、队列等服务器的地址都会发生改变,这时候就需要通过 Apollo 为生产环境添加配置。目前 Apollo 预先定义的环境为:

DEV:Development environment 开发环境,用于开发者调试使用;

FAT:Feature Acceptance Test environment 功能验收测试环境,用于软件测试者测试使用;

UAT:User Acceptance Test environment 用户验收测试环境(仿真环境),用于生产环境下的软件测试者测试使用

PRO:Production environment 生产环境,最终上线环境。

Apollo 也支持自定义环境。具体方式可以参考官方文档:

这里我们要明确一些信息:

Portal 部署在生产环境的机房,通过它来直接管理 FAT、UAT、PRO 等环境的配置即可;

Config Service、Admin Service 和 ApolloConfigDB 在每个环境都单独部署;

应用需要配置指定的环境,默认为 DEV。

总结下来就是:一套 Portal 可以管理多个环境,但是每个环境都需要独立部署一套 Config Service、Admin Service 和 ApolloConfigDB。

服务器地址说明:

192.168.10.101:apollo-portal,公共的 Portal

192.168.10.102:DEV 环境,独立部署一套 Config Service、Admin Service,使用公共的 Portal

192.168.10.103:PRO 环境,独立部署一套 Config Service、Admin Service,使用公共的 Portal

创建数据库

点击链接观看:Apollo 多环境部署实践视频(获取更多请关注公众号「哈喽沃德先生」)

192.168.10.101 这台机器运行 apolloportaldb.sql 文件。

192.168.10.102 和 192.168.10.103 都运行 apolloconfigdb.sql 文件。

最终结果如下:

Spring Cloud 系列之 Apollo 配置中心(三)

调整服务端配置

Apollo 自身的一些配置是放在数据库里面的,所以需要针对实际情况做一些调整。

配置项统一存储在 ApolloPortalDB.ServerConfig 表中,如下图,在③Value的地方添加环境即可,比如 dev,pro。

Spring Cloud 系列之 Apollo 配置中心(三)

或者也可以通过管理员工具 - 系统参数页面进行配置,通过 apollo.portal.envs 关键字查询并进行设置,无特殊说明则修改完一分钟实时生效。

Spring Cloud 系列之 Apollo 配置中心(三)

下载安装包

从GitHub Release页面下载最新版本的apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip和apollo-portal-x.x.x-github.zip即可。本小节采用这种方式,可以省去本地打包的过程。

如果需要对 Apollo 做定制开发,也可以选择通过源码构建: 后面高可用环境的搭建我们就采用这种方式。

配置数据库

Apollo 服务端需要知道如何连接到你前面创建的数据库,数据库连接串信息位于上一步下载的压缩包中的config/application-github.properties中。

配置 apollo-configservice 的数据库连接信息

将 apollo-configservice-x.x.x-github.zip 上传至 192.168.10.102 和 192.168.10.103

解压apollo-configservice-x.x.x-github.zip

打开config目录下的application-github.properties文件

填写正确的 ApolloConfigDB 数据库连接串信息,注意用户名和密码后面不要有空格!

修改完的效果如下:

# DataSource spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 1234 配置 apollo-adminservice 的数据库连接信息

将 apollo-adminservice-x.x.x-github.zip 上传至 192.168.10.102 和 192.168.10.103

解压apollo-adminservice-x.x.x-github.zip

打开config目录下的application-github.properties文件

填写正确的 ApolloConfigDB 数据库连接串信息,注意用户名和密码后面不要有空格!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzjjy.html