Flink动态业务规则的实现
文章目录
一、 需求
在不停止flink任务的情况下,在外部通过配置,来达到修改flink输出特征逻辑的变化、新增和删除。
碎碎念:
网上找了好久都没有,很多动态加载UDF,也是在启动的时候加载。我想要达到在运行过程中加载udf。
只能自己写了。
这是真的真的真的真的 动态业务规则。
还有一种方案是,在方法中调用接口,通过改变接口的实现逻辑来实现。
但是这种方法不符合分布式计算,把计算的工作全交给发布接口的微服务了。而且通过serverlet调用接口很耗时。
这种方案 PASS
二、 监控配置变化
2.1 FlinkCDC的实现
直接使用 flink-connector-mysql-cdc
2.2 Apollo的实现
自定义apollo source,没隔1s输出期间内监控到的apollo配置的变化。
import com.alibaba.fastjson.JSON;