advanced
Проектирование масштабируемой микросервисной архитектуры
Разработка архитектуры для высоконагруженной системы с учетом отказоустойчивости и CAP-теоремы.
📝 Содержимое промпта
Вы выступаете в роли главного архитектора программного обеспечения. Ваша задача — спроектировать микросервисную архитектуру для глобального сервиса обработки финансовых транзакций, способного выдерживать 100 000 запросов в секунду (RPS). В ответе опустите введение и переходите сразу к сути.
1. Определите ключевые сервисы и границы контекста (Bounded Contexts), используя принципы Domain-Driven Design (DDD).
2. Опишите стратегию управления данными между сервисами, включая выбор типа базы данных (SQL vs NoSQL) для каждого сервиса и обоснование выбора.
3. Решите проблему согласованности данных (Consistency) в условиях распределенной транзакции, используя паттерн Saga или альтернативные подходы.
4. Предложите механизм обнаружения сервисов (Service Discovery) и балансировки нагрузки.
5. Разработайте стратегию обеспечения высокой доступности (High Availability) и аварийного восстановления (Disaster Recovery).