Приветствую. Может кто подскажет ))
Есть симфони-приложение, монолит, на борту мессенджер для ивентов и асинхронных задач. Грубо говоря можно разделить на клиентскую часть (рега клиента и прием заказов) и производство+управление товарами (создание товаров, выполнения заказов менеджерами, где у заказов меняются статусы жизненного цикла, которые должны быть видны у клиента ). Задача - разделить на два отдельных приложения клиент (может быть несколько сайтов) и производство(которое принимает эти заказы). Общение с бэка на бэк.
Две основные проблемы:
1) Много общих элементов. Например список товаров, города. При этом клиенты/заказы на клиентской части свои. Есть вариант настроить реплику master slave из производства на каждого клиента отдельных таблиц (товары например). Может какие еще варианты интересные есть?
2) Обмен сообщениями о статусах заказов. Первоначально думал по api общаться, но потом подумал, почему бы не через rabbitmq. Теже ивенты ловить, как я сейчас ловлю. Но symfony messenger вроде под несколько приложений не приспособлен. Подключать еще одну либу и кидать в отдельную очередь дубликаты сообщений-ивентов? Какую либу можете посоветовать? Или все же лучше api для такого. Ведь api так или иначе все равно будет (например если клиент хочет поменять конфигурацию заказа, а он уже ушел в реальное производство - у нас выдает месседж с ошибкой).
Буду благодарен любой идее и обсуждению :)