Skip to content

Event-Driven Python

Referenz-Patterns fuer event-getriebene Python-Architekturen auf Google Cloud Platform.


Architektur

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   API        │────▶│  Pub/Sub    │────▶│  Workers    │
│  (Cloud Run) │     │  Topics     │     │ (Cloud Func)│
└─────────────┘     └─────────────┘     └─────────────┘
       │                   │                    │
       ▼                   ▼                    ▼
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  Cloud SQL   │     │  Dead Letter│     │  BigQuery   │
│ (PostgreSQL) │     │  Queue      │     │ (Analytics) │
└─────────────┘     └─────────────┘     └─────────────┘

Key Patterns

Domain Events

Unveraenderliche Events die fachliche Ereignisse repraesentieren:

  • OrderCreated, PaymentProcessed, ShipmentDispatched
  • Enthalten alle notwendigen Daten fuer Consumer
  • Serialisiert als JSON ueber Pub/Sub

Event Processing

Pattern Beschreibung
At-Least-Once Delivery Pub/Sub garantiert mindestens einmalige Zustellung
Idempotent Handlers Handler muessen mehrfache Ausfuehrung vertragen
Dead Letter Queue Fehlgeschlagene Messages fuer Analyse aufbewahren
Event Ordering Bei Bedarf ueber Ordering Keys sicherstellen

Resilience

  • Retry mit Exponential Backoff
  • Circuit Breaker fuer externe Services
  • Dead Letter Topics fuer fehlgeschlagene Events
  • Health Checks und Monitoring

Tech Stack

Komponente Technologie
API FastAPI auf Cloud Run
Messaging Google Cloud Pub/Sub
Workers Cloud Functions (Gen 2)
Database Cloud SQL (PostgreSQL)
Analytics BigQuery
IaC Terraform

Verwandte Agents


Quelldatei: reference-repos/event-driven-python/README.md