Etch – Distributed Notification Hub

Oct 2026

A distributed notification hub using Apache Kafka to decouple high-volume business orders from notification delivery pipelines.

Etch separates order processing from notification delivery, so a slow or broken email provider never makes an order fail or makes a customer wait.

Key ideas

  • The order service answers right away and publishes an event to Kafka
  • A notification service sends the emails and texts in the background
  • Failed sends retry with exponential backoff
  • Sends that can never succeed go to a dead-letter topic instead of being lost
  • Redis stops duplicate messages when Kafka redelivers an event
  • Five services, each in its own container, set up to deploy to AWS ECS with GitHub Actions

Built with: Java, Spring Boot, Spring Cloud Gateway, Apache Kafka, MySQL, Redis, Testcontainers, Docker, GitHub Actions, AWS

Code: github.com/marlware/etch