Zurück zu den Projekten

Java · Java-/Spring-Boot-Referenzsystem

Transactional Outbox Relay

Zuverlässige Transactional-Outbox-Verarbeitung mit Java 21, Spring Boot, PostgreSQL, Kafka, Leases, Retries und Testcontainers.

Ausgangslage

Fachliche Daten und Broker-Ereignisse müssen gemeinsam zuverlässig entstehen, obwohl Datenbank und Kafka keine gemeinsame Transaktion teilen und Abstürze jederzeit möglich sind.

Ergebnis

Eine modulare Bibliothek mit Spring-Boot-Starter und ausführbarer Order-API, die atomare Outbox-Writes, At-least-once-Zustellung und nachvollziehbare Fehlergrenzen demonstriert.

Was das Projekt zeigt

Nachvollziehbare Entscheidungen statt Schlagworte.

  • Atomare Fach- und Outbox-Writes in einer Spring-Transaktion
  • PostgreSQL-Leases, Compare-and-set-Übergänge und Crash-Recovery
  • Kafka-Acknowledgements, stabile Partition Keys und begrenzte Retries
  • Micrometer, Flyway sowie PostgreSQL-/Kafka-Testcontainers

Technologien

  • Java 21
  • Spring Boot
  • PostgreSQL
  • Apache Kafka
  • Testcontainers
  • Virtual Threads