我有一个用例,我需要让Flink应用程序生成不同数量的Kafka主题,可能在不同的集群中,而不必重新部署应用程序。让我们假设我在配置文件中维护了一组目标集群/主题,并且在我的Flink应用程序中有代码,可以在运行时检测并加载这些配置文件中的任何更改。
我应该写一个自定义的SinkFunction
来维护一组卡夫卡生产者吗?还是将工作委托给FlinkKafkaProducer
实例集合的自定义SinkFunction
?或者有更好的方法吗?
我的解决方案已被弃用,但您可以使用自己的序列化架构(实现KeyedSerializationSchema(创建FlinkKafkaProducer,并覆盖getTargetTopic方法。