在Flink documentation中,我们被警告说:“广播状态下的事件顺序可能会因任务而异”。
如何实现一个允许删除或更新(而不仅仅是添加)的跨任务广播状态一致的应用程序?
如果顺序不能保证,那么一个任务可能会在得到“create”事件之前得到一个“delete”事件,或者在得到一个设置新版本的事件之后得到一个设置旧版本的“update”事件。
是否可以采取任何措施来最小化无序风险?(例如,并行度= 1,单个Kafka分区等)
在Flink documentation中,我们被警告说:“广播状态下的事件顺序可能会因任务而异”。
如何实现一个允许删除或更新(而不仅仅是添加)的跨任务广播状态一致的应用程序?
如果顺序不能保证,那么一个任务可能会在得到“create”事件之前得到一个“delete”事件,或者在得到一个设置新版本的事件之后得到一个设置旧版本的“update”事件。
是否可以采取任何措施来最小化无序风险?(例如,并行度= 1,单个Kafka分区等)
1条答案
按热度按时间siotufzp1#
如果广播流来自并行度为1的操作符,那么这不是问题。只有当您的拓扑允许并行广播流之间的竞争条件时,您才需要担心这一点。