Watermill
Learn
  • Learn
    • Getting started
    • Watermill Quickstart
  • Basics
    • Message
    • Publisher & Subscriber
    • Router
    • Middleware
    • CQRS Component
    • Troubleshooting
    • Articles
    • Awesome Watermill
  • Advanced Topics
    • Metrics
    • Forwarder (the outbox pattern)
    • FanIn (merging topics)
    • FanOut (multiplying messages)
    • Delayed Messages
    • Requeuing After Error
  • Supported Pub/Subs
    • Amazon AWS SNS/SQS
    • Bolt Pub/Sub
    • Firestore Pub/Sub
    • Go Channel
    • Google Cloud Pub/Sub
    • HTTP
    • io.Writer/io.Reader
    • Kafka
    • NATS Jetstream
    • RabbitMQ (AMQP)
    • Redis Stream
    • SQL (PostgreSQL, MySQL)
    • SQLite
  • Development
    • Contributing Guide
    • Implementing a new Pub/Sub
    • Benchmark
    • Releases
Watermill
  • Learn
  • Docs
  • Support
  • GitHub

Search

Loading search index…

No recent searches

No results for "Query here"

  • to select
  • to navigate
  • to close

Search by FlexSearch

Learn Watermill

How do you like to learn?

Watermill Quickstart

Code along

Learn how to build an event-driven application in Go, coding in your own IDE.

Getting Started Guide

Read

Start with a guide that covers core concepts of Watermill in a few minutes.

Examples

Try out

Real-world examples and patterns for CQRS, the outbox pattern, SSE, and other use cases.

Dive Deeper

Go Event-Driven

An in-depth online training on Event-Driven Architecture.

Discord Community

Join our Discord community to get help and discuss Watermill and related topics.

GitHub Repository

Read the source code, contribute, report issues, and stay up to date.

Three Dots Labs Three Dots Labs

© Three Dots Labs 2014 — 2026

Watermill is open-source software and is not backed by venture capital.
We are an independent, bootstrapped company.