Choreography - AWS Prescriptive Guidance

Choreography

In a choreographed system, individual components receive a task, perform some work, and possibly emit a task for subsequent work to be performed. There is no central orchestration mechanism. Choreography makes it easy to scale services independently, because each service operates in relative isolation. It performs work when it receives work, at whatever throughput the service is capable of. Choreography is often a central part of an event-driven architecture (EDA).

In the following diagram, there is no coordination between the Lambda functions. Each function only processes messages in the subscribed queue. Each function is responsible for its own error handling and can control concurrency—for example, if a downstream dependency has a requests per second (RPS) limit.

How choreography works in a microservices architecture on AWS.

An EDA provides a number of benefits, such as loose coupling of services and extensibility. A full discussion of EDA principles is beyond the scope of this guide. For more information, see: