pa-03 — References

Event-driven patterns

  • Martin Fowler — What do you mean by "Event-Driven"? (notification vs event-carried state vs event sourcing), EventCollaboration. https://martinfowler.com/articles/201701-event-driven.html
  • Chris Richardson, microservices.io — Saga, Event Sourcing, CQRS, the patterns catalog. https://microservices.io/patterns/
  • Designing Data-Intensive Applications (Kleppmann) — ch. 11, stream processing; delivery semantics; the dual-write problem.
  • Enterprise Integration Patterns (Hohpe/Woolf) — pub/sub, DLQ, message routing (the vocabulary).

Delivery semantics & idempotency

  • Kafka docs — delivery guarantees, idempotent producer, transactions.
  • "You Cannot Have Exactly-Once Delivery" (Tyler Treat) — why at-least-once + idempotency is the real answer.
  • AsyncAPI — describing event-driven APIs (the contract side, pa-02).

Brokers to contrast (pa-04 builds the log model)

  • Kafka / Pulsar (partitioned log), NATS/JetStream (subjects + streams), RabbitMQ (queues/exchanges). Know when each fits.
  • pa-02 (event schemas + idempotency keys), pa-04 (the durable partitioned log under this bus), pa-05 (outbox + saga), gw-05 (push at-least-once + dedup), gw-06 (retries/backoff/shed).