Ответ
Монолитная архитектура
Все компоненты приложения (UI, бизнес-логика, БД) объединены в единую кодовую базу. Простота развертывания, но сложность масштабирования.
Микросервисная архитектура
Приложение разбито на независимые сервисы, каждый со своей логикой и БД. Гибкость, но сложность управления.
Событийно-ориентированная (Event-Driven)
Компоненты обмениваются событиями через брокер (Kafka, RabbitMQ). Пример:
# Producer
producer.send('user_created', {'user_id': 123})
# Consumer
@consumer.subscribe('user_created')
def handle_event(data):
print(f"User created: {data['user_id']}")
Сервис-ориентированная (SOA)
Сервисы предоставляют API для взаимодействия (часто через SOAP/REST). Устаревает в пользу микросервисов.
Слоистая (N-Layer)
Разделение на слои (Presentation, Business, Data). Например, MVC.
Гексагональная (Ports & Adapters)
Ядро приложения изолировано, взаимодействие через адаптеры (HTTP, БД).
Serverless
Логика выполняется в облачных функциях (AWS Lambda). Плата за использование, а не за сервер.
Видео-ответы
▶
▶
▶