Flink 整合 Apollo,动态更新 Flink 作业配置
在上一篇讲解 Flink 与 Nacos 整合的视频 中,讲过了常见的几种更新配置的方法,最常使用的可能就是通过广播流的方式,相信看完上个视频的,估计对整合 Nacos 做动态更新配置应该问题不大,zhisheng 我也觉得稍微简单,尤其 Nacos 搭建安装也比较简单。不知道大家公司有没有使用 Nacos 呢?我知道有的公司使用 Apollo 居多,所以后面就有读者问我能不能出个整合 Apollo 的视频,所以我趁着周末大晚上的时间就开始折腾了一番,本篇文章将给大家讲解与 Apollo 整合,动态的更新 Flink 配置。
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
因为它的自身架构原因,导致安装可能会比较复杂,需要安装好多个组件,个人觉得比 Nacos 复杂,幸好的是官方的文档比较详细,跟着安装步骤来说还是没有问题的。zhisheng 我是只在自己 Mac 电脑上面安装了一个单机版的,仅为测试使用。
快速上手的请参考该链接 https://github.com/nobodyiam/apollo-build-scripts,这样你就能够在几分钟内在本地环境部署、启动 Apollo 配置中心。另外还提供了 Quick Start 的 Docker 版本,如果你对 Docker 比较熟悉的话,那更方便了。
主要演示流程(安装 Apollo 和整合 Flink),本人录了个视频(上传到 B 站了,地址链接是 https://www.bilibili.com/video/av91742999/,因为视频超过 30 分支,上传到微信公众号有点复杂,可以点击文章末尾的阅读原文查看高清视频),更方便大家去实战操作,欢迎观看。
代码地址:https://github.com/zhisheng17/flink-learning/tree/master/flink-learning-configration-center/flink-learning-configration-center-apollo
注意引入 Apollo 的依赖:
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.5.1</version>
</dependency>
END
关注我
公众号(zhisheng)里回复 面经、ES、Flink、 Spring、Java、Kafka、监控 等关键字可以查看更多关键字对应的文章。