介绍:随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址等等对程序配置的期望值也越来越高:配置修改后实时生效。灰度发布,分环境、分集群管理配置。完善的权限、审核机制在这样的大环境下、传统发通过配置文件、数据等方式已经越来越无法满足开发人员对配置管理的需求
apollo是什么?
apollo是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群配置,配置修改后能够实时推送的应用端,并且具备规范的权限,流程治理的特性
一、apollo控制台部署
1.下载控制台Quick start安装包
https://download.csdn.net/download/qq_21082615/11420429
下载成功之后将压缩包上传到服务器解压
2.准备Mysql数据库
版本要求:5.6.5+
创建数据库: ApolloPortalDB、 ApolloConfigDB
执行数据库sql语句
3.配置步骤1上传到服务器上的数据库地址demo.sh
#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用户名
apollo_config_db_password=密码(如果没有密码,留空即可)
#apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用户名
apollo_portal_db_password=密码(如果没有密码,留空即可)
4.启动脚本
./demo.sh start
5.启动成功后访问
http://ip:8070
用户名: apollo
密码:admin
二、java客户端接入
1.pom加入apollo依赖包
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.0.0</version>
</dependency>
2.创建与apollo关联的bean
@Data
public class SystemBean {
@Value("${timeout:100}")
private int timeout;
@Value("${count:0}")
private int count;
}
3.初始化bean
@Configuration
@EnableApolloConfig
public class Config {
@Bean
public SystemBean systemBean() {
return new SystemBean();
}
}
4.application.properties配置
app.id=HUC00001
apollo.meta=http://192.168.0.114:8080
apollo.cluster=default