Go ecommerce platform
This section highlights the production-grade async work behind the Go ecommerce services: RabbitMQ for checkout saga coordination, Kafka for order domain events and replayable projections, and the operational guardrails that make message-driven systems debuggable after they leave the happy path.
The implementation is intentionally practical: Go, Kafka, and RabbitMQ are used where they solve concrete reliability problems in checkout, analytics, event sourcing, CQRS read models, and incident response.
RabbitMQ coordinates the checkout workflow where services need explicit commands, replies, compensation, and operator recovery.
Kafka carries order facts as an append-only stream for event sourcing, CQRS projection, replay, and analytics.
Idempotency at async boundaries so duplicate deliveries and retries remain safe.
Retry classification that separates transient failures from validation and poison-message failures.
DLQs with enough envelope context to debug, alert, and replay without guessing.
Prometheus metrics for consumer lag, DLQ depth, saga progress, publish outcomes, and worker health.
Trace propagation through RabbitMQ headers and Kafka message headers for cross-service debugging.
Focused tests around retry behavior, replay paths, graceful shutdown, and crash recovery.