{"repo":"ThreeDotsLabs/watermill","free":true,"listed":false,"github":"https://github.com/ThreeDotsLabs/watermill","clone":"git clone https://github.com/ThreeDotsLabs/watermill.git","description":"Building event-driven applications the easy way in Go.","language":"Go","stars":9846,"topics":["watermill","event-driven","event-sourcing","sagas","events","stream-processing","reactive","go","golang","rabbitmq"],"license":"MIT","category":"data-pipelines","readme_excerpt":"Watermill 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 PostgreSQL if that fits your use case. Goals Easy to understand. Universal - event-driven architecture, messaging, stream processing, CQRS - use it for whatever you need. Fast (see Benchmarks). Flexible with middlewares, plugins and Pub/Sub configurations. Resilient - using proven technologies and passing stress tests (see Stability). Getting Started Pick what you like the best or see in order: 1. Quickstart — learn by coding! 2. Follow the Getting Started guide. 3. See examples below. 4. Read the full documentation: https://watermill.io/ Our online hands-on training Go Event-Driven goes beyond Watermill Quickstart. You'll learn industry standard concepts and patterns like: Handling at-least-once delivery Asynchronous read models Events & Commands Observability Message ordering Sagas Examples Basic Your first app - start here! Realtime feed Router Metrics CQRS with protobuf Pub/Subs usage These examples are part of the Getting started guide and show usage of a single Pub/Sub at a time. Real-world examples Exactly-once delivery counter Receiving webhooks Sending webhooks Synchronizing Databases Persistent Event Log Transactional Events Real-time HTTP updates","default_branch":null,"files":null,"tree":[],"storefront":"/r/ThreeDotsLabs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ThreeDotsLabs/watermill/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}