Как добиться одновременной работы над очередью заданий?JAVA

Программисты JAVA общаются здесь
Anonymous
Как добиться одновременной работы над очередью заданий?

Сообщение Anonymous »

Я новичок в проекте. Во многих местах они используют следующую архитектуру:
  • записать задание в таблицу базы данных (простая таблица, без JMS)
  • прочитать пакет заданий из базы данных с помощью метода @Scheduled (заблокировать его в базе данных, чтобы гарантировать только однократную обработку)
  • обработать задание(я) (отметить их как успешные, или он будет повторен позже)
Эти запланированные задания/время, потраченное впустую между выполнением, явно не являются современными/большая трата времени.
Я хотел бы добиться одновременной работы над таблицей заданий без планировщиков или пакетной обработки. Если в таблице есть задание, оно должно быть обработано, как только оно станет доступным, если экземпляр (это приложение Spring-Boot, управляемое Kubernetes, которое можно масштабировать) приложения простаивает. Если работы нет, приложение может перейти в спящий режим на указанное время.
Какие решения рекомендуются для этой цели? Есть ли закономерность, которая решает эту проблему и которую следует принять во внимание?

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