Advanced
Monolith to Microservices Refactoring
Analyze a complex monolithic codebase description and propose a comprehensive decomposition strategy using Domain-Driven Design principles.
📝 Содержимое промпта
You are a Senior Solutions Architect. We have a monolithic Java application handling User Management, Order Processing, Inventory, and Shipping. The codebase is highly coupled, with shared databases causing transaction locks during peak traffic. Your task is to:
1. Identify the Bounded Contexts suitable for extraction into separate services.
2. Propose a data consistency pattern (e.g., Saga pattern) to replace the current ACID transactions.
3. Design the API communication layer (synchronous vs. asynchronous) for these services.
4. Provide a step-by-step migration plan (Strangler Fig pattern) that ensures zero downtime.