问题陈述:
我们的微服务中有一个Scheduler,它将获取10个请求文档(有staus "A")并开始对它们进行处理,并在此之后更新每个文档的状态。
我们计划部署同一个微服务的三个实例。一旦所有三个实例都开始执行调度程序,那么每个实例将获取10个请求文档并开始处理它们。
相同的请求文档不应该在多个实例中被获取和处理。如何确保每个微服务实例选择10个不同的文档?
发布于 2020-02-20 09:13:26
每个员工都应该选择一组不同的文档。
例如,如果文档具有自动增量数字id:
的所有文档的所有文档
如果自动增量ID不可用,您可以查看一致的散列,这是非常好的学习。
散列很简单:
这种方法的问题是,假设您的文档ID哈希的范围在1到1000之间,并且您使用的方法是相同的。你可能最终得到的工人1比工人2更多的工作。
使用一致的散列,您可以扩大范围以获得更大的平衡。
https://stackoverflow.com/questions/60314142
复制相似问题