offset 重放,mistake

Best Regards,
Ran Tao


Ran Tao <chucheng...@gmail.com> 于2023年4月20日周四 16:11写道:

> 1.一种比较干净但是暴力的做法是Flink一旦检测到分区变化,就执行作业fo.
> fo后读取最新的分区列表,旧的分区从状态中进行offer重放,新分区执行特定的点位启动策略。它的做法比较干净暴力。
>
> 2.第二种就是动态的分区发现(指作业fo,异步线程一直check分区变化,针对removed或者insert的分区单独处理),
> 这个在 newKafkaSource 中已经实现了。旧的kafka source实现社区有 FLIP[1]
> 讨论这个问题。实现侧来看,这种方案相对于第一种复杂一些,需要开发者比较小心的处理状态以及某些极端环境的fo导致的问题[2]。
>
> [1]
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-288%3A+Enable+Dynamic+Partition+Discovery+by+Default+in+Kafka+Source
> [2] https://issues.apache.org/jira/browse/FLINK-31006
>
> 其实这两种做法不仅仅适用于kafka,对于任意的source或者mq都可以使用。希望对你有所帮助。
>
> Best Regards,
> Ran Tao
>
>
> casel.chen <casel_c...@126.com> 于2023年4月20日周四 15:43写道:
>
>>
>> 实际工作中会遇到kafka版本升级或者kafka扩容(横向或纵向),数据重平衡等情况,想问一下发生这些情况下对线上运行的flink作业会有什么影响?flink作业能感知topic分区发生变化吗?要如何应对以减少对flink作业消费端的影响?
>
>

回复