Spring Boot项目整合Apollo配置中心(三)
笔者在工作中遇到如下问题,随着程序功能越多,配置文件不断增加,一些功能的开关、服务器地址、接口地址、不同环境的一些配置文件不同,这些在每次发布不同环境、更新项目时都比较繁琐,后来学习微服务时接触到了Spring Cloud Config配置中心,用了一段时间发现比之前方便不少,但是还是比较繁琐和麻烦,而且功能还达不到生产级,只能小规模场景下使用,在中大规模企业场景下不建议采用。后来了解到携程Apo
笔者在工作中遇到如下问题,随着程序功能越多,配置文件不断增加,一些功能的开关、服务器地址、接口地址、不同环境的一些配置文件不同,这些在每次发布不同环境、更新项目时都比较繁琐,后来学习微服务时接触到了Spring Cloud Config配置中心,用了一段时间发现比之前方便不少,但是还是比较繁琐和麻烦,而且功能还达不到生产级,只能小规模场景下使用,在中大规模企业场景下不建议采用。后来了解到携程Apollo配置中心,Apollo支持完善的管理界面,支持多环境,配置变更实时生效,权限和配置审计等多种生产级功能,而且在携程到微服务架构体系中也运用了这个,在国内众多互联网公司也有落地案例,就开始去接触了解。最后结合工作和学习的一些经验分享给大家Apollo的入门使用和一些走过的坑,本篇文章主要介绍使用Spring Boot项目整合Apollo配置中心来管理发布配置文件。
简要步骤:
①、使用Apollo创建一个项目
②、新增项目配置文件
③、创建一个Spring Boot项目
④、修改配置文件、编写Java类
⑤、使用Apollo发布项目配置文件
⑥、启动本地项目查看从Apollo配置中心读取的文件
推荐博客:
Apollo架构体系、Apollo运行原理、Apollo配置中心简单介绍:https://blog.csdn.net/zjh_746140129/article/details/86179522
Linux下配置安装Apollo、Centons下配置安装Apollo:https://blog.csdn.net/zjh_746140129/article/details/86179601
Spring Boot项目整合Apollo配置中心:https://blog.csdn.net/zjh_746140129/article/details/86361168
Spring boot项目整合apollo错误:for env UNKNOWN from com.ctrip.framework.apollo.internals.DefaultMetaServer
详细步骤:
一、使用Apollo创建一个项目
1、登录打开Apollo
2、新建项目
二、新增项目配置文件
1、点击文本,选择编辑
2、编辑完提交
3、添加集群
注:这里只配置了DEV环境,这里的集群名称后面在项目配置中会用到。
三、创建Spring Boot项目
注:这里用了之前的一篇boot整合jpa的案例,大家也可以自己新建一个,后面提供了核心实现代码
Spring Boot2.0系列教程之 JPA 和 Thymeleaf 实践(五):https://blog.csdn.net/zjh_746140129/article/details/81254965
github源码地址:https://github.com/zjh746140129/Spring-Boot2.0
pom文件新增
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.2</version>
</dependency>
四、修改配置文件、编写Java类
1、配置文件application.properties,这里app.id要和Apollo里面项目的appId一致
app.id=test-demo
apollo.bootstrap.enabled = true
apollo.meta=http://192.168.234.155:8080
spring.profiles.active=dev
2、配置文件配置文件application-dev.properties,这里的cluster=dev是Apollo中集群的名字
#apollo的配置
apollo.cluster=dev
2、编写Java类
package com.boot.config;
import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
* Created by zhoujh on 2019/1/9.
*/
@Configuration
@EnableApolloConfig
public class BootConfig {
@Value("${CONFIG.PlatFormCode}")
private String PlatFormCode;
public String getPlatFormCode() {
return PlatFormCode;
}
public void setPlatFormCode(String platFormCode) {
PlatFormCode = platFormCode;
}
}
在controller测试从Apollo配置中心获取
五、使用Apollo发布项目配置文件
1、点击发布
六、启动本地项目查看从Apollo配置中心读取的文件
1、修改项目启动设置
-Denv=DEV
-Denv就是开发环境 DEV表示阿波罗里面的集群名称
linux服务器启动jar 也需要加一个这个,例如 java -Denv=DEV -jar abc.jar
2、启动项目查看控制台是否连接Apollo
3、查看Apollo实例列表
注:只要应用连接上这里就会有,如果没有说明没有连接上Apollo
4、测试访问,说明已经读取到
5、添加配置文件Apollo再发布
6、再访问首页查看控制台
可以看到已经再次获取到了
更多推荐
所有评论(0)