详解统一配置中心平台:Apollo服务搭建

简介

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

参考

官方地址

官方详细文档

快速部署文档

生产分布式部署指南

环境

系统版本:CentOS7.X

环境组件:JDK1.8,Mysql5.7

说明:本次部署是在单台上部署测试环境,这里只做研究测试,尽量不要用在生产环境。因为生产环境通常为保证服务的稳定性,需要考虑高可用和高负载等方案。

部署

下载安装包

官方稳定包下载

依赖的jar包如下:

apollo-adminservice-1.6.1-github.zip

apollo-configservice-1.6.1-github.zip

apollo-portal-1.6.1-github.zip

创建ApolloPortalDB

通过各种MySQL客户端导入sql/apolloportaldb.sql即可

导入成功后,可以通过执行以下sql语句来验证

1
select `Id`, `AppId`, `Name` from ApolloPortalDB.App;
IdAppIdName
1SampleAppSample App

创建ApolloConfigDB

通过各种MySQL客户端导入sql/apolloconfigdb.sql即可
导入成功后,可以通过执行以下sql语句来验证

1
select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;
NamespaceIdKeyValueComment
1timeout100sample timeout配置

修改数据库配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 创建应用目录
mkdir -p /usr/local/{apollo-adminservice,apollo-configservice,apollo-portal}

# 解压安装包
unzip apollo-adminservice-1.6.1-github.zip -d /usr/local/apollo-adminservice/
unzip apollo-configservice-1.6.1-github.zip -d /usr/local/apollo-configservice/
unzip apollo-portal-1.6.1-github.zip -d /usr/local/apollo-portal/


vim /usr/local/apollo-configservice/config/application-github.properties

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


vim /usr/local/apollo-portal/config/application-github.properties

# DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = 123456
#apollo.eureka.server.enabled=true
#apollo.eureka.client.enabled=true

启动apollo服务

启动顺序

configservice –> adminservice –> portal

一切顺利的话: 通过访问 http://部署服务器地址:端口/8070, 就能看到配置登录页

优化

设置环境meta信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vim /usr/local/apollo-portal/config/apollo-env.properties

格式:${env}.meta=http://${config-service-url:port}
例如:
dev.meta=http://1.1.1.1:8080
fat.meta=http://apollo.fat.xxx.com
uat.meta=http://apollo.uat.xxx.com
pro.meta=http://apollo.xxx.com

# 默认环境为dev,configservice的默认端口为8080
# 如果本机的8080端口被占用,那configservice就需要更改端口,apollo-env.properties中的meta信息配置也要配置对应端口,同时需要改数据库,默认数据库euraka的端口为8080,例如改为8081,数据库操作如下:
use apolloconfigdb;
select * from serverconfig;
update serverconfig SET Value='http://localhost:8081/eureka/' WHERE Id=1;
-------------本文结束感谢您的阅读-------------

本文标题:详解统一配置中心平台:Apollo服务搭建

文章作者:豌豆多多

发布时间:2020年05月19日 - 15:05

最后更新:2021年03月01日 - 14:03

原始链接:https://wandouduoduo.github.io/articles/10484a0.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

原创技术分享,您的支持将鼓励我继续创作