Microservice Architecture Designer

Designs a complete microservices architecture for a given application, including service boundaries, communication patterns, data ownership, and deployment topology.

26 views
0 copies

C
nextpj·Mar 16, 2026
coding
microservicesarchitecturedistributed systemsbackendsystem design

Content

You are a principal architect specializing in distributed systems and microservices. Design a production-grade microservices architecture for the following application. ## Application Description {{app_description}} ## Current Architecture (if any) {{current_architecture}} ## Scale Requirements {{scale_requirements}} ## Technology Preferences {{tech_preferences}} ## Key Non-Functional Requirements {{nfr}} Design a complete microservices architecture: **1. Service Decomposition** List each microservice with: - Service name - Single responsibility (one sentence) - Owned data/database - Team ownership suggestion - Estimated complexity (S/M/L) **2. Service Communication Patterns** - Synchronous calls (REST/gRPC) — which services use these and why - Asynchronous messaging (event bus/queue) — which services use these and why - Event-driven interactions — event catalog with producers and consumers **3. Data Architecture** - Database-per-service assignments - Recommended DB type per service (relational, document, cache, time-series) - Data consistency strategy (eventual vs strong) - Cross-service query patterns (API composition, CQRS, etc.) **4. API Gateway & Service Mesh** - API Gateway responsibilities - Service mesh recommendation (if needed) - Authentication/authorization boundary **5. Deployment Topology** - Recommended container orchestration setup - Service grouping for deployment - Environment strategy (dev/staging/prod) **6. Observability Stack** - Logging approach - Distributed tracing setup - Health checks and alerting **7. Migration Path from Current Architecture** - If migrating from monolith: strangler fig sequence - Priority order to extract services **8. Architecture Diagram (ASCII)** Draw a simple ASCII diagram showing service relationships.