В статье рассматриваются характеристики различных архитектурных решений, сложности,
проблемы, ключевые особенности и лучшие практики при их использовании. Выполнено сравнение монолитной, микросервисной и событийно-ориентированной архитектуры. При создании архитектуры для обработки больших потоков данных разработчики сочетают архитектуру, управляемую событиями, и архитектуру микросервисов для создания систем, которые являются чрезвычайно масштабируемыми, доступными, отказоустойчивыми, параллельными и простыми в разработке и обслуживании. Описываются и сравниваются подходы к работе с данными в микросервисной и монолитной архитектурах. Рассматриваются паттерны маршрутизации запросов, такие как API Gateway и Service Discovery. Указаны их преимущества, недостатки и особенности реализации. Сравниваются два подхода поиска адресов на стороне сервера и клиента. Приводится пример реализации событийно-ориентированной архитектуры на основе таких паттернов, как посредник и брокера. Описываются способы их реализации, особенности, сильные и слабые стороны каждого из них. Приведены сравнения подходов для межпроцессорного общения микросервисов, использующих синхронный и асинхронный тип взаимодействия. Даны сравнения брокеров сообщений по различным параметрам. В заключении обосновывается выбор архитектуры приложения для распределенной обработки больших объемов данных.