当多个实例更新elasticsearch时如何保证消息顺序?

时间:2018-08-14 09:15:19

标签: python multithreading elasticsearch design-patterns apache-kafka

假设我有一个队列正在监听包含实时消息的Kafka

我还有一个“工作人员”,可以从队列中获取消息并在Elasticsearch上执行更新。当我通过添加更多的“工人”实例来扩展项目规模时,如何维护消息的顺序?

如何避免一个“工人”实例从队列中获取以后的消息,而更早地完成对Elasticsearch的更新?

1 个答案:

答案 0 :(得分:0)

这是您必须在并行处理和排序之间进行的选择。

主题必须具有单个分区才能维护数据顺序。因此,您在worker中最多可以有1个任务,其他任务将无法分配。