Согласованное хеширование против распределенных блокировок для обработки условий гонки

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

Мой вопрос: каковы плюсы и минусы любого из подходов и какие могут быть благоприятными?

1 ответ

Последовательное хеширование гораздо проще реализовать, чем распределенную блокировку. Проблема заключается в том, что конкретное распределение входных данных может быть отправлено только подмножеству узлов, в результате чего одни слова работают тяжелее, чем другие. Распределенная блокировка сложнее реализовать и требует нескольких сообщений связи (или некоторых общих данных), но не приведет к смещению в распределении узлов.

Другие вопросы по тегам