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 non-senior developers.

Universal

It doesn't matter that 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 middlewares to the router.

Resilient

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


A detailed explanation of why we build Watermill you can find in our Introducing Watermill blog post.