Watermill — это Go библиотека для event-driven архитектуры. Абстрагирует message broker — можешь использовать Kafka, RabbitMQ, NATS, Redis Streams, Google Pub/Sub через единый интерфейс Publisher/Subscriber. Поддерживает middleware, роутинг сообщений, CQRS. Удобно когда хочешь менять брокер без переписывания кода.