Watermill 是一个 Golang 库,用于高效处理消息流。它旨在构建事件驱动型 应用。它可用于事件溯源、RPC over 消息以及您想到的任何其他内容。 您可以使用传统的发布/订阅实现,如 Kafka 或 RabbitMQ,也可以使用 HTTP 或 MySQL 二进制日志。
它带有一组 Pub/Sub 实现,可以由您自己轻松扩展。
Watermill 还附带了标准中间件,如 instrumentation、poison queue、throttling、correlation、 以及每个消息驱动应用程序使用的其他工具。