У меня есть серверное приложение A, которое производит записи по мере поступления запросов. Я хочу, чтобы эти записи сохранялись в базе данных. Тем не менее, я не хочу, чтобы приложения A потоки тратили время на сохранение записей, напрямую связывая их с базой данных. Поэтому я подумал об использовании простой архитектуры производителей-потребителей, где приложения Thread производят записи, а другие потоки приложений B - это потребители, которые сохраняют записи в базе данных.Локальная очередь сообщений для обмена данными между двумя процессами
Я ищу «лучший» способ обмена этими записями между приложениями A и B. Важным требованием является то, что приложение. Нити всегда будут иметь возможность отправлять записи в систему IPC (например, очередь, но это может быть другое решение). Поэтому я считаю, что записи всегда должны храниться локально, чтобы потоки приложений A могли отправлять событие записи, если сеть не работает.
Первоначальная идея, которая пришла мне в голову, заключалась в использовании локальной очереди сообщений (например, ActiveMQ). Как вы думаете, подходит ли местная очередь сообщений? Если да, рекомендуете ли вы конкретную реализацию очереди сообщений? Обратите внимание, что оба приложения написаны на Java.
Спасибо, Микаэль