advanced
Рефакторинг монолитной архитектуры
Проектирование стратегии перехода от монолита к микросервисам с использованием CQRS
📝 Содержимое промпта
Вы выступаете в роли ведущего архитектора программного обеспечения. Ваша задача — разработать подробный план рефакторинга унаследованного монолитного приложения на Java в распределенную систему микросервисов. В ответе опишите:
1. Как вы определите границы контекста (Bounded Contexts) для выделения сервисов.
2. Какой паттерн интеграции базы данных вы выберете (База данных на сервис или База данных на схему) и почему.
3. Подробную реализацию паттерна CQRS (Command Query Responsibility Segregation) для критического по производительности узла системы.
4. Стратегию обеспечения конечной согласованности данных (Eventual Consistency) между сервисами.
5. Примеры технологий (например, Apache Kafka, Axon Framework), которые вы бы использовали.
Критерии оценки: глубина технического анализа, обоснование выбора архитектурных решений и учет потенциальных проблем при транзакционной целостности.