---
title: "Discussion on \"Event-Driven Fundamentals: Why PulseCart Moved Off Request-Response\" | Hashnode"
description: "Discussion on \"Event-Driven Fundamentals: Why PulseCart Moved Off Request-Response\". Day 1 of Building PulseCart: Event-Driven Architecture on GCP"
url: "https://hashnode.com/posts/event-driven-fundamentals-why-pulsecart-moved-off-request-response/6a361b93b730bb04633adf30"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Event-Driven Fundamentals: Why PulseCart Moved Off Request-Response](https://blog.madhav.dev/event-driven-fundamentals-why-pulsecart-moved-off-request-response?utm_source=hashnode&utm_medium=feed)

Day 1 of Building PulseCart: Event-Driven Architecture on GCP

Jun 20 · 6 min read · blog.madhav.dev  
Read the article

-   [#event-driven-architecture](https://hashnode.com/tag/event-driven-architecture)
-   [#gcp](https://hashnode.com/tag/gcp)
-   [#gcp-devops](https://hashnode.com/tag/gcp-devops)
-   [#pubsub](https://hashnode.com/tag/pubsub)
-   [#fastapi](https://hashnode.com/tag/fastapi)
-   [#system-design](https://hashnode.com/tag/system-design)

## Written by

[Madhav Bhasin](https://hashnode.com/@madhavbhasin)

@madhavbhasin · Noida, India

  
[View profile](https://hashnode.com/@madhavbhasin)

Production patterns for backend engineers who are tired of hello-world tutorials.

Senior full-stack engineer and engineering lead with 5+ years building cloud-native systems at scale. I write about the things the docs don't cover — GCP, FastAPI, Terraform, event-driven architecture, and AI-powered backends. No hello-world demos.

## Responses 2

Markdown supported · ⌘↵ to post

[Hayrullah Kar](https://hashnode.com/@magesheet)

[Jun 21](https://hashnode.com/posts/event-driven-fundamentals-why-pulsecart-moved-off-request-response/6a361b93b730bb04633adf30/comment/6a38639dbf6b850c285ff834)

This is a phenomenal architectural write-up! Moving from tightly coupled orchestration to event-driven choreography is the exact inflection point where an e-commerce platform transitions from an MVP to a resilient, enterprise-grade system.

Your breakdown of the event taxonomy—specifically the distinction between an immutable fact (order.placed) and an orchestration command masquerading as an event—is a crucial lesson that many backend engineers learn the hard way. Validating the envelope contract via Pydantic before it ever touches the message broker is a beautiful pattern that keeps the pipeline loud and reliable.

If I can offer one supportive critique for the upcoming Day 2 topic: when you dive into Google Cloud Pub/Sub subscriptions, it would be awesome to see how you handle idempotency on the consumer side, especially since Pub/Sub guarantees at-least-once delivery.

Looking forward to the deep dive into dead-letter topics! Outstanding work!

[Madhav Bhasin](https://hashnode.com/@madhavbhasin)

[Jun 22](https://hashnode.com/posts/event-driven-fundamentals-why-pulsecart-moved-off-request-response/6a361b93b730bb04633adf30/comment/6a38639dbf6b850c285ff834#reply-6a396cdebf60a8e532dab634)

Thanks, glad it resonated! You're right that idempotency is exactly where Pub/Sub's at-least-once delivery bites people, so it's front and center in Day 2. I'm planning to cover deduplication keys on the consumer (carrying a stable event ID through the envelope and tracking processed IDs) alongside the dead-letter topic setup. Curious whether you've leaned more on broker-side dedup or handled it in the application layer — always interested in what's held up in production.
