advanced
Monolith to Microservices Refactoring Strategy
Design a comprehensive strategy to refactor a legacy monolithic application into microservices, considering data consistency and migration.
📝 Contenuto del prompt
Act as a Principal Software Architect. You have been given a 50,000-line monolithic Java application handling payments and user management. Your task is to outline a comprehensive strategy to break this monolith into microservices. Your response must include: 1) Identification of service boundaries (Bounded Contexts), 2) A data migration strategy ensuring zero downtime, 3) Selection of inter-service communication patterns (Synchronous vs Asynchronous), and 4) An approach to handling distributed transactions. Be specific about the technologies you would recommend for this transition and justify your choices based on the CAP theorem.