程序员的资源宝库

网站首页 > gitee 正文

玩转apollo配置中心——通过jar包搭建环境

sanyeah 2024-03-29 17:44:46 gitee 11 ℃ 0 评论

一、Apollo配置中心介绍

Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的额权限、流程治理等特性。

Apollo支持的四个维度管理的配置:

  • application (应用)
  • environment (环境)
  • cluster (集群)
  • namespace (命名空间)

同时,Apollo基于开源模式开发,开源地址:https://github.com/ctripcorp/apollo

这里需要提一点的就是

 二、Apollo配置中心部署

1.环境准备

jdk8

mysql5.7

2.下载安装包

前往github下载安装包 https://codeload.github.com/nobodyiam/apollo-build-scripts/zip/refs/heads/master

这里下载的安装包是已经编译并打包好的安装包,解压后目录结构如下

-client  Apollo客户端示例(可忽略)

-images  静态图片资源(可忽略)

-portal  管理系统目录

-service  核心功能目录

-sql  初始化数据库sql脚本目录

-demo.sh  启动脚本

3.配置中心部署

3.1.创建数据库

将安装包解压后的sql目录下的两个sql脚本拿到mysql中直接执行,完成后就会发现mysql中多了两个数据库并且库里也有部分数据表

 

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| apolloconfigdb |
| apolloportaldb |
+--------------------+

 

3.2.修改启动脚本demo.sh

在编辑器中打开demo.sh启动脚本,修改脚本最前面的两个数据库配置,将数据库链接,帐号,密码配置正确

# apollo config db info
apollo_config_db_url="jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
apollo_config_db_username=root
apollo_config_db_password=1234

# apollo portal db info
apollo_portal_db_url="jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
apollo_portal_db_username=root
apollo_portal_db_password=1234

3.3.打开控制台并运行启动脚本 将Apollo配置中心启动

配置中心启动成功后进程将在后台运行所以控制台窗口会消失,不必担心

# 启动配置中心
demo.sh start

# 关闭配置中心
demo.sh stop

三、访问Apollo配置中心

打开浏览器,输入http://localhost:8070/回车即可进入Apollo管理页面

默认登录帐号为apollo 密码为admin

进入后可以看到系统已经默认创建了一个示例项目(sampleApp)

您可以根据你的项目实际,创建新的配置项目,在新的配置项目下创建集群、namespace以及新增配置项

这里先稍微提一下,Apollo配置中心的四个配置维度以及服务端的三个服务

服务端三个服务

portal——项目配置管理系统,你访问的8070端口就是访问的这个服务,该服务包含了后台管理系统以及创建的项目信息,使用portal这个数据库

configService——配置服务,向其他业务系统提供配置推拉更新的服务,业务系统和该服务建立连接来获取项目配置,使用config这个数据库

adminService——环境管理,负责指定环境的所有配置修改、发布、回滚、以及历史记录等等一系列的后台管理功能,使用config这个数据库

配置的四个维度

application——项目,项目可以认为是一级维度,用来区分不同项目的配置

environment——环境,诸如dev、sit、uat等等的这类环境,Apollo的这个环境要支持的话稍微有些复杂,后面再做详细交流,一个环境对应了一套配置服务,如果你要支持三个环境,那就要启动2*3+1=7个Apollo服务

cluster——集群,携程为了自己的某些实际情况加的一个维度,个人感觉对大部分项目都用不上。比如同一个项目,北京部署了2个,上海部署了2个,北京部署的访问的oss为***beijing.com,上海部署的访问的oss为***shanghai.com,这种情况就需要用到cluster,一般情况下我们都用默认,后面再做详细交流

namespace——命名空间,这个比较好,比如一个项目的配置,包含了关系型数据库信息、缓存数据库信息、支付相关配置等等,为了避免所有的配置都在一个里面不便管理,就可以在配置中添加多个命名空间,关系型数据库可以创建一个“datasource”命名空间,缓存数据库可以创建“cache”,支付的配置可以创建“pay”,这样项目在读取配置的时候直接读取这三个中的一个或多个配置,后面再做详细交流

至此,Apollo配置中心单机部署已经完成

 

 

 

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表