寻求有关在Apache Flink中使用多个并行示例的广播状态模式时在实时事件流中维护事件顺序的建议。Flink处理的并行性质在确保正确的事件排序方面提出了挑战。寻找见解、最佳实践或代码示例来处理此上下文中的事件顺序。
k3bvogb11#
我的典型方法是从并行度为1的操作符广播,以便不必担心这个问题。考虑到广播状态的限制(它必须保存在堆中,并且每个并行示例都会检查自己的副本),明智的做法是保持广播状态的大小合理地小,因此将广播源限制在单个示例上从来没有感到太大的限制。如果你真的必须从多个并行源进行广播,那就没有办法保证任何事情;不同的源示例之间存在竞争。
1条答案
按热度按时间k3bvogb11#
我的典型方法是从并行度为1的操作符广播,以便不必担心这个问题。
考虑到广播状态的限制(它必须保存在堆中,并且每个并行示例都会检查自己的副本),明智的做法是保持广播状态的大小合理地小,因此将广播源限制在单个示例上从来没有感到太大的限制。
如果你真的必须从多个并行源进行广播,那就没有办法保证任何事情;不同的源示例之间存在竞争。