В распределенной системе, где рабочая нагрузка распределяется по нескольким узлам, два способа работы с условиями гонки, когда несколько запросов для одновременной обработки одних и тех же данных, - это использование согласованного хеширования и распределенных блокировок. Последовательное хеширование гарантировало бы, что все запросы для работы с одним набором данных отправлялись одному и тому же работнику, а распределенные блокировки гарантировали, что только один работник мог работать с любым набором данных одновременно.
Мой вопрос: каковы плюсы и минусы любого из подходов и какие могут быть благоприятными?