Size: a a a

2020 March 04

H

Hovanes in pro.jvm
Почему бы просто не захватывать лок над каким нибудь объектом (если речь про ограничение в рамках одного приложения)?
источник

AK

Alexander Komarov in pro.jvm
Maksim V
Всем добрый день!
Есть 2 запроса сервису на spring. Нужно каким-то образом не дать им отрабатывать параллельно. То есть, если приходит второй запрос, но при этом поток обработки первого не завершился, нужно подождать пока он завершится. Я это представляю так: приходит первый запрос, я даю текущему потоку имя. Приходит второй, я проверяю есть ли поток с таким именем. Если есть, то джойню ко второму. Как это лучше сделать?
Ужас какой. Используйте какой-то примитив синхронизации. Да хотя бы тупо lock берите.
источник

SW

Stas Woronkow in pro.jvm
Alexander Komarov
Ужас какой. Используйте какой-то примитив синхронизации. Да хотя бы тупо lock берите.
+
источник

Е

Евгений in pro.jvm
Maksim V
Всем добрый день!
Есть 2 запроса сервису на spring. Нужно каким-то образом не дать им отрабатывать параллельно. То есть, если приходит второй запрос, но при этом поток обработки первого не завершился, нужно подождать пока он завершится. Я это представляю так: приходит первый запрос, я даю текущему потоку имя. Приходит второй, я проверяю есть ли поток с таким именем. Если есть, то джойню ко второму. Как это лучше сделать?
Кафка
источник

МК

Максим Калашников in pro.jvm
Maksim V
Всем добрый день!
Есть 2 запроса сервису на spring. Нужно каким-то образом не дать им отрабатывать параллельно. То есть, если приходит второй запрос, но при этом поток обработки первого не завершился, нужно подождать пока он завершится. Я это представляю так: приходит первый запрос, я даю текущему потоку имя. Приходит второй, я проверяю есть ли поток с таким именем. Если есть, то джойню ко второму. Как это лучше сделать?
складывать запросы в очередь по некоторому id
источник

МК

Максим Калашников in pro.jvm
любые блоки потоков подходят тока для супер ненагруженных приложений
источник

AK

Alexander Komarov in pro.jvm
Мне почему-то  кажется, судя по вопросу,  там достаточно ненагруженное приложение
источник

Е

Евгений in pro.jvm
Alexander Komarov
Мне почему-то  кажется, судя по вопросу,  там достаточно ненагруженное приложение
все равно Кафка
источник

Е

Евгений in pro.jvm
мало ли, вырастет нагрузка
источник

МК

Максим Калашников in pro.jvm
кафка так как раз умеет
источник

МК

Максим Калашников in pro.jvm
ну это можно сделать и без сторонных приложений. просто на уровне пула потоков или какого-то LinkedBlockingQueue
источник

МК

Максим Калашников in pro.jvm
для монолита кафка нафиг не нужна
источник

Е

Евгений in pro.jvm
ой простите
источник

AK

Alexander Komarov in pro.jvm
Евгений
мало ли, вырастет нагрузка
Тогда да, согласен. С одним уточнением. Надо сразу в кубер/опеншифт все деплоить.  Мало ли, надо автоматически скейлить будет. А мы не готовы.
источник

Е

Евгений in pro.jvm
Alexander Komarov
Тогда да, согласен. С одним уточнением. Надо сразу в кубер/опеншифт все деплоить.  Мало ли, надо автоматически скейлить будет. А мы не готовы.
само собой
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶 in pro.jvm
Alexander Komarov
Тогда да, согласен. С одним уточнением. Надо сразу в кубер/опеншифт все деплоить.  Мало ли, надо автоматически скейлить будет. А мы не готовы.
ну хотя бы в контейнеры заворачивать)
источник

Е

Евгений in pro.jvm
теперь блокировка потоков - меньшая из ваших проблем
источник

Е

Евгений in pro.jvm
вы поднимаете мастер-ноду кубернеса после очередного обновления
источник

Е

Евгений in pro.jvm
девопс-монополия. "после обновления ваш кластер развалился, отдайте в кассу 1000 и пропустите ход"
источник

SP

Sam Panza in pro.jvm
Maksim V
Всем добрый день!
Есть 2 запроса сервису на spring. Нужно каким-то образом не дать им отрабатывать параллельно. То есть, если приходит второй запрос, но при этом поток обработки первого не завершился, нужно подождать пока он завершится. Я это представляю так: приходит первый запрос, я даю текущему потоку имя. Приходит второй, я проверяю есть ли поток с таким именем. Если есть, то джойню ко второму. Как это лучше сделать?
Я б workflow в принципе пересмотрел бы. Какую проблему решаем? А то попахивает xy problem.
источник