In Orchestration, we rely on a central system to control and call
various Microservices to complete a task. In Choreography, each
Microservice works like a State Machine and reacts based on the
input from other parts.
Orchestration is a tightly coupled approach for integrating
Microservices. But Choreography introduces loose coupling. Also,
Choreography based systems are more flexible and easy to change
than Orchestration based systems.
Orchestration is often done by synchronous calls. But choreography
is done by asynchronous calls. The synchronous calls are much
simpler compared to asynchronous communication.