This is Pub/Sub for the Watermill project. The implementation provides two CGO-free driver variants optimized for different use cases.
Beta Version Warning: this Pub/Sub is stable, but it has not been widely tested in production environments. It may be sensitive to certain edge cases and combinations of configuration parameters.
See DEVELOPMENT.md for more information about running and testing.
Watermill is a Go library for working efficiently with message streams. It is intended for building event driven applications, enabling event sourcing, RPC over messages, sagas and basically whatever else comes to your mind. You can use conventional pub/sub implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog if that fits your use case.
All Pub/Sub implementations can be found at https://watermill.io/pubsubs/.
Documentation: https://watermill.io/
Getting started guide: https://watermill.io/docs/getting-started/
Issues: https://github.com/ThreeDotsLabs/watermill/issues
All contributions are very much welcome. If you'd like to help with Watermill development, please see open issues and submit your pull request via GitHub.
If you didn't find the answer to your question in the documentation, feel free to ask us directly!
Please join us on the #watermill
channel on the Three Dots Labs Discord.