Size: a a a

2021 January 08

TH

Tomas Holshtein in pro.jvm
Давид Мэн
А есть у кого то ?
источник

TH

Tomas Holshtein in pro.jvm
Тут ищи
источник

ДМ

Давид Мэн in pro.jvm
Спасибо
источник

HH

Human Human in pro.jvm
Как называется такой подход (как загуглить), когда есть один большой ресурс, который может модифицировать только один сеанс одного пользователя. Остальным показывается, что ресурс занят и они ждут пока, его освободят.
источник

HH

Human Human in pro.jvm
Подскажите, плиз. Хочу посмотреть какие есть варианты, прежде чем писать велосипед.
источник

DC

Denis Chikanov in pro.jvm
Human Human
Как называется такой подход (как загуглить), когда есть один большой ресурс, который может модифицировать только один сеанс одного пользователя. Остальным показывается, что ресурс занят и они ждут пока, его освободят.
Это не звучит как подход, это звучит, как банальный лок/мьютекс.
источник

HH

Human Human in pro.jvm
Denis Chikanov
Это не звучит как подход, это звучит, как банальный лок/мьютекс.
Типа лок как таблица:  
bool locked
string session

Сеанс браузера захватывает лок. Дальше делает poll, чтобы сервер знал, что сеанс активен. И либо лок явно снимается, либо poll заканчивается и лок также снимается.
источник

DC

Denis Chikanov in pro.jvm
Human Human
Типа лок как таблица:  
bool locked
string session

Сеанс браузера захватывает лок. Дальше делает poll, чтобы сервер знал, что сеанс активен. И либо лок явно снимается, либо poll заканчивается и лок также снимается.
А просто synchronized на блок доступа к ресурсу повесить что мешает?
источник

DC

Denis Chikanov in pro.jvm
Ну то есть так или иначе, это просто лок ресурса, никак иначе это искать не надо
источник

HH

Human Human in pro.jvm
Denis Chikanov
А просто synchronized на блок доступа к ресурсу повесить что мешает?
Ну по крайней мере мне нужно его сохранять на диск, а не держать в памяти
источник

HH

Human Human in pro.jvm
Denis Chikanov
Ну то есть так или иначе, это просто лок ресурса, никак иначе это искать не надо
Интересно именно комплесное решение. С фронтом который делает poll или там таймеры. Лок получается на сессию, не на юзера.
источник

HH

Human Human in pro.jvm
В 1С реализовано что-то вроде этого. Ресурс блокируется, всем остальным показывается, что они не могут пока с ним работать.
источник

V

Vlad in pro.jvm
Human Human
Как называется такой подход (как загуглить), когда есть один большой ресурс, который может модифицировать только один сеанс одного пользователя. Остальным показывается, что ресурс занят и они ждут пока, его освободят.
Пессиместичная блокировка в бд?
источник

A

Aleksandr in pro.jvm
Denis Chikanov
А просто synchronized на блок доступа к ресурсу повесить что мешает?
Я боюсь тут может быть проблема, если сессия завершиться с ошибкой и по каким-то причинам мьютекс не будет освобождён. Наверное нужно добавить TTL на блокировку. Да и вообще распределённые блокировки - это больно, если мы не говорим про кластер из какого-нибудь редиса
источник
2021 January 09

b

borsch in pro.jvm
https://github.com/alturkovic/distributed-lock


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

VG

Vik Gamov in pro.jvm
borsch
https://github.com/alturkovic/distributed-lock


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

SZ

Sergey Zolotov in pro.jvm
Vik Gamov
Надо было конечно хазелкаст заюзать
и городить в кубере для подов дискавери друг друга? такое себе
источник

VG

Vik Gamov in pro.jvm
Sergey Zolotov
и городить в кубере для подов дискавери друг друга? такое себе
Kubernetes discovery нативной поддерживается
источник

VG

Vik Gamov in pro.jvm
Sergey Zolotov
и городить в кубере для подов дискавери друг друга? такое себе
А отдельную базу для локов поднимать не такое себе?
источник

SZ

Sergey Zolotov in pro.jvm
Vik Gamov
А отдельную базу для локов поднимать не такое себе?
то что редис на проекте есть шансов много)
источник