Такая архитектура это нормально?

Хочу понять, лыжи не едут или как.
Есть два ̶с̶т̶у̶л̶а̶ сервака с приложениями на yii2. Один принимает кучу сообщений от юзеров, складывает в базу и больше ничего не делает.
На другом серваке yii в бесконечном цикле стучится в базу (баш скрипт дергает консольную команду). Вытаскивает оттуда последние сообщения, потом кладет их в очередь кролика. И дальше уже кролик дергает новый контроллер, который рассылает пуши.

Мне это немножко взорвало мозг. Разве не логичнее сразу, из первого приложения добавлять сообщение в rabbitmq? Без дерганья базы в бесконечном цикле. Как по мне, это дичь. Но может я чего не понимаю? Такая схема чисто теоретически может быть оправдана?
Люди, которые это писали, уже уволились, спрашивать подробности не у кого. И вообще все травой поросло
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Разве не логичнее сразу, из первого приложения добавлять сообщение в rabbitmq


Да, это логично. Но сохранение в БД я бы также оставил по простой причине - консистентность. А то на больших объемах кролик может терять данные + иногда есть необходимость повторной обработки (CQRS/Event Sourcing)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы