Design: Microservices Communication Coordination
Design focuses on comparing choreography and orchestration approaches for coordinating microservices workflows. Does not cover detailed implementation of each microservice business logic.
Functional Requirements
FR1: Coordinate multiple microservices to complete business workflows
FR2: Ensure services communicate reliably and in correct order
FR3: Support asynchronous and synchronous interactions
FR4: Handle failures gracefully and allow retries
FR5: Allow easy addition or removal of services without major rewrites
Non-Functional Requirements
NFR1: Support up to 1000 concurrent workflow executions
NFR2: API response latency p99 under 300ms for synchronous calls
NFR3: System availability 99.9% uptime
NFR4: Minimal coupling between services to allow independent deployment