When designing a multi-step order processing Saga using Kafka, which strategy best supports scalability and fault tolerance?
AImplement a centralized coordinator service that synchronously calls each step's API
BDecouple each step into independent microservices communicating via Kafka topics with event-driven orchestration
CUse a single Kafka topic for all steps and process events sequentially in one service
DStore all Saga state in a relational database and avoid Kafka for communication