Watermill

Go library for building event-driven applications.

Easy to use

Our goal was to create a tool which is easy to understand, even by junior developers.

Universal

It doesn't matter if you want to do Event-driven architecture, CQRS, Event Sourcing or just stream MySQL Binlog to Kafka.

Fast

Watermill was designed to process hundreds of thousands of messages per second.

Flexible

Every component is built in a way that allows you to configure it for your needs. You can also implement your own middlewares for the router.

Resilient

Watermill is using proven technologies and has a strong unit and integration tests coverage for the critical areas.


You can find a detailed explanation of why we've built Watermill in our Introducing Watermill blog post.