Подходит ли метод Redisson getLock () для распределенного варианта использования и как он сравнивается с getRedLock ()?
Все блокировки Redisson подходят для распределенного варианта использования. Алгоритм RedLock предполагает, что у вас есть блокировка на главный узел в кластере. Алгоритм RedLock является предложением, и, к сожалению, нет отзывов о его использовании. За исключением анализа https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html
Какой алгоритм использует getLock () и является ли он безопасным для распределенного использования?
RLock
объект хранится как один объект в Redis. Другие потоки уведомляются через слушателей pubsub, если блокировка снята. Также есть настройка lockWatchdogTimeout, позволяющая определить время, по истечении которого блокировка будет снята, если текущий поток не активен.
UPDATE Начиная с версии 3.12.5, метод getLock () возвращает блокировку с улучшенным надежность при отказе. getRedLock () устарела.