Awesome CQRS and Event Sourcing
A curated list of awesome CQRS and Event Sourcing things.
Inspired by all the other awesome things.
Intro
CQRS
Event Sourcing
- Event Sourcing by Martin Fowler
- Event sourcing revisited
- Event Sourcing applied – the Aggregate
- Event-sourcing, Part I
- Event sourcing for the rest of us
- Achieving Consistency in CQRS with Linear Event Store
- Entry-level, synchonous & transactional event sourcing
- Event Sourcing vs Command Sourcing
- A Whole System Based on Event Sourcing is an Anti-Pattern
Domain Events
REST and CQRS
- REST API Design - Resource Modeling
- Exposing CQRS Through a RESTful API
- Reconciling ReST, CQRS and Event Sourcing
- CQRS with Elixir and Phoenix
- Should CQRS services be RESTful?
Talks (Slides)
- Event sourcing in practice
- Introduction to Event Sourcing and CQRS with Broadway (PHP Benelux 2016)
- Building Microservices with Event Sourcing and CQRS
- Building and deploying microservices with event sourcing, CQRS and Docker (QCONSF 2014)
- Agile, Architecture, DDD and CQRS
- CQRS recipes or how to cook your architecture
- REST and DDD
Talks (Videos)
- Greg Young — A Decade of DDD, CQRS, Event Sourcing
- Greg Young - CQRS and Event Sourcing - Code on the Beach 2014
- CQRS/DDD by Greg Young
- GregYoung 8 CQRS Class
- Practical Event Sourcing
- CQRS with Erlang
- Building Microservices with Event Sourcing and CQRS
- GeeCON 2014: Sandro Mancuso - Crafted Design
- Skills Matter
- YOW! Nights March 2016: Martin Fowler - Event Sourcing
Examples
- Simple CQRS example
- Microsoft patterns & pratices CQRS Journey sample application
- Broadway
- Broadway Examples
- Buttercup.Protects
- EventCentric.Core
- A simple event sourcing example with snapshots using lambda and dynamodb
Event Stores
- EventStoreDB - The stream database built for Event Sourcing
- EventStore - An event store using PostgreSQL for persistence written in Elixir
- Marten DB - .NET Transactional Document DB and Event Store on PostgreSQL.
- Message DB - PostgreSQL
- Pravega - Java implementation (CNCF).
- SQLStreamStore - An event/stream store library in .NET with support for PostgreSQL/SQL Server/MySQL etc.
- DynamoDB EventStore - An event store implementation on top of Amazon DynamoDB (JavaScript).
- DynamoDB EventStore - Another event store implementation on top of Amazon DynamoDB (TypeScript).
- DynamoDB EventStore (article) - Article on an event store on DynamoDB
Libraries/Frameworks
- Commanded - Elixir CQRS/ES library with support for EventStoreDB
- Equinox - .NET Event Sourcing library with CosmosDB, EventStoreDB, SqlStreamStore and integration test backends.
- EventFlow - Async/await first CQRS+ES and DDD framework for .NET.
- Eventuous - Minimalistic Event Sourcing library for .NET (EventStoreDB)
- Propulsion - .NET event stream projection and scheduling platform with EventStore, CosmosDb, Equinox and Kafka integrations
- Memstate - In-memory event-sourced ACID-transactional distributed object graph engine for .NET Standard.
- castore - Typescript library to easily implement Event Sourcing on your project
Books
- Exploring CQRS and Event Sourcing
- Domain-Driven Design Distilled - Vaughn Vernon
- DDD Reference - A summary of the patterns and definitions of DDD. Eric Evans
- Versioning in an Event Sourced System - Greg Young
Blogs
- Mathias Verraes
- Vaughn Vernon: Software Craftsman
- CQRS & Event Sourcing by Daniel Whittaker
- Software Design by Rinat Abdullin
- Think Before Coding by Jérémie Chassaing
- Konrad Garus
Podcasts
Community
Groups
Discussions
- DDD/CQRS/ES/NoSQL and functional programming
- Acting like I don't get the message :-/
- Achieving consistency in CQRS with linear event store
Events
More awesome
License
To the extent possible under law, @leandrocp has waived all copyright and related or neighboring rights to this work.