В связи с тем, что вам пока не хватает практики и опыта для выбора правильной архитектуры изначально, вам лучше вообще об этом не заморачиваться.
Двигайтесь эволюционно, пишите код как умеете, сталкивайтесь с фактическими проблемами - производительность, нехватка ресурсов, нехватка паралелизма, и в этот момент думайте о способах решения, и об архитектуре. Именно тогда, видя конкретную проблему, переписывайте код, оптимизируйте, новичкам важно и нужно переписывать код, чтобы развиваться. Попытка выбрать архитектуру, которую вы не умеете, затянет задачу и оттянет получение удовольствия от результата, что вам навряд ли добавит мотивации. Пилите свой монолит, если дойдете до узких мест, думайте о декомпозиции.
Если говорить о сферической задаче получения данных от разных источников, и аналитике, то хорошо в этом работает микросервисная архитектура, общая шина обмена данных вроде ampq и pub/sub модель обмена данными.