← Zurück

Design Patterns in Messaging-Grundlagen

Pattern Zweck Einsatzort Begründung
Event Envelope Betriebsmetadaten und Payload trennen EventEnvelope Event-ID, Trace, Version und Partition Key sind kein Payload-Detail.
Command Message Auftrag mit klarem Empfänger CommandEnvelope Commands können abgelehnt werden und brauchen Zielservice.
Publish/Subscribe Publisher und Consumer entkoppeln InMemoryKafkaBroker Billing und Reporting können denselben Strom unabhängig lesen.
Consumer Group Verarbeitungseinheit mit eigenen Offsets ConsumerGroupState Mehrere Gruppen lesen unabhängig; innerhalb einer Gruppe wird Arbeit verteilt.
Strategy Partitionierung kapseln PartitionKeyStrategy Partition Key ist eine Architekturentscheidung.
Registry Akzeptierte Schemata zentralisieren EventSchemaRegistry Consumer verarbeiten nur bekannte Versionen.
Idempotent Consumer Duplikate ignorieren IdempotencyStore, BillingProjectionConsumer At-least-once kann Nachrichten mehrfach liefern.
Dead Letter Channel fehlerhafte Events isolieren DeadLetterQueue kaputte Nachrichten blockieren nicht den gesamten Strom.
Projection lokales Lesemodell aus Events BillingProjection Consumer baut eigene Sicht, ohne Publisher-Datenbank zu lesen.
Test Double Broker-Konzepte ohne Kafka testen InMemoryKafkaBroker Lern- und Architekturtests laufen JDK-only.
⌂ Cockpit