系列文章目录

前言
Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。使用配置中心,可以更加集中化方便管理项目的配置,脱敏安全问题,热更新等好处。一、本文要点
接上文,我们已经简单演示了Springboot整合Apollo配置中心,并演示了怎样获取业务配置。本文将介绍怎样把mysql、redis、es、kafka等配置交由Apollo托管,使项目看起来更加清爽,配置更加安全方便。系列文章完整目录
-
Apollo 配置中心
-
springboot 整合 apollo client
-
springboot + mybatis + Hikari + elasticsearch + redis + dubbo + apollo
二、开发环境
- jdk 1.8
- maven 3.6.2
- springboot 2.4.3
- apollo 1.8.1
- apollo cleint 1.8.0
- idea 2020
三、安装apollo服务端
参考:《搭建大型分布式服务(十五)Docker搭建开发环境安装Apollo》
四、增加Apollo依赖
参考:《搭建大型分布式服务(十六)SpringBoot整合apollo client配置中心》
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.8.0</version>
</dependency>
五、修改配置文件
1、修改application-dev.properties文件,同理,后面发布到测试、正式环境的话,修改对应的配置文件,把kafka、mysql、es、redis的配置删掉,只保留Apollo的配置。
#################### LOG ####################
logging.file.path=./logs
#################### apollo ####################
app.id=member-config
apollo.meta=http://9.135.xxx.xxx:8080
apollo.bootstrap.enabled=true
apollo.bootstrap.eagerLoad.enabled=true
2、对应dev环境,将kafka、mysql、es、redis的配置上传到Apollo,记得要点发布按钮。
六、修改项目代码
1、修改ApolloDemoApplication,@EnableApolloConfig启用配置中心。
@EnableApolloConfig
@SpringBootApplication
public class ApolloDemoApplication {
public static void main(String[] args) {
SpringApplication.run(ApolloDemoApplication.class, args);
}
}
2、增加IndexController,调用下前文的MemberService。
@RestController
public class IndexController {
@Resource
private MemberService memberService;
@GetMapping("/get")
public Result get() {
TblMemberInfo member = new TblMemberInfo();
member.setUid(8888L);
TblMemberInfo ret = memberServce.get(member);
return Result.ok(ret);
}
}
七、运行一下
1、IDEA启动项目,访问一下localhost:8080/get,可以看到项目正常启动,并且能获取到redis缓存。
八、小结
至此,我们已经把redis、kafka、es、dubbo等配置交由apollo托管了,只要严格把控生产环境的配置权限,这样就能避免账号密码泄漏,删库跑路的情况啦。下一篇《搭建大型分布式服务(十八)SpringBoot项目定制我们的脚手架》
加我一起交流学习!