Я создаю какое-то веб-приложение, используя NodeJS. Я развернул приложение на веб-сервере AWS beanstalk и отделил некоторые тяжелые задачи и развернул тяжелые задачи для различных AWS рабочих beanstalk. Главный веб-сервер выполняет работника с SQS (aws очередь).
Основной веб-сервер имеет большой слой БД для подключения, получения и сохранения в базе данных. Рабочим нужны некоторые действия с БД, каждому рабочему типу нужны разные действия, которые уже реализованы на уровне БД основного веб-сервера.
Поэтому я пытаюсь найти способ использовать слой БД в Интернете. сервер без дублирования в каждом рабочем типе (это то, что я делаю сейчас).
Я подумал о том, чтобы отделить слой БД от основного приложения и самостоятельно развернуть его на веб-сервере, но это выглядит напрасной тратой, потому что мне не нужно все время слушать запросы на уровне БД, мне нужны действия по требованию.
Я прикрепил картинку того, как это выглядит:
- номер 1 основного сервера (с полным уровнем базы данных)
- номер 2 очереди
- номер 3 рабочих. (с дублированными действиями в БД)
Есть ли какое-нибудь хорошее решение для этого?