Java Redison tryLock и производительность getBucketJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java Redison tryLock и производительность getBucket

Сообщение Anonymous »

Я использую глобальное хранилище данных Redis с двумя кластерами — Регион-А и Регион-Б.
Каждый региональный кластер имеет три узла Redis: один основной и две реплики чтения.
Моя служба также развернута в двух регионах: Регион-А и Регион-Б. Таким образом, по сути, я нахожусь в активной/активной настройке, когда оба региона получают трафик.
Регион-A и Регион-B потребляют сообщения, которые реплицируются между регионами, а это означает, что я получаю дубликаты.
Службы должны быть идемпотентными, поэтому я использую Redis в качестве механизма распределенной блокировки.
Вопрос:
Java redison lib предоставляет два API для блокировки чего-либо в Redis:
  • getLock -> tryLock
  • getBucket -> setIfAbsent
Производительность этих двух вариантов существенно различается: 80 мс для первого варианта и 5 мс для второго варианта. В документации говорится, что вариант 2 не рекомендуется.
В чем разница? Безопасно ли использовать вариант 2 в моем случае?

Подробнее здесь: https://stackoverflow.com/questions/797 ... erformance
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»