Introduction

to Event Sourcing

with Commanded

Lisbon |> Elixir Dec 2018

Bruno Antunes

Onfido

https://www.enxoo.com/polish/blog-feed/2016/11/18/irosebg91h8lrbo7ot4adb9a8lm38v

https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api-mac?view=aspnetcore-2.1

CRUD works

https://www.channelfutures.com/industry-perspectives/marketing-managed-services-referrals

http://digital.vpr.net/post/awesome-etiquette-how-answer-questions-about-your-career-or-lack-one#stream/0

https://en.wikipedia.org/wiki/Ledger

Advantages

of Event Sourcing

https://www.marketingweek.com/2016/04/07/exploring-marketings-new-relationship-with-insight/

https://h22208.www2.hpe.com/eginfolib/networking/docs/sdn/sdnc2_6/5998-8472admin/content/s_sdnc-auditlog-screen-sdn.html

https://www.claruswms.co.uk/happy-workers-efficient-warehouse/

https://www.anasoft.com/emans/en/home/news-blog/blog/What-to-Do-with-an-Overstocked-Warehouse-%E2%80%93-Can-a-Warehouse

Cons of ES

https://blueocean.ca/weighing-the-pros-and-cons-of-cross-trained-contact-center-agents/

CQRS

Event Store

Read Model

https://kalele.io/blog-posts/really-simple-cqrs

Let's see some code

https://github.com/commanded/commanded

https://gitter.im/commanded/Lobby

https://github.com/commanded/eventstore

Commands

Commands

Commands

Aggregates

Aggregates

Aggregates

Events

Events

event_id event_type causation_id correlation_id data metadata created_at
<UUID> Events.Task.Created <UUID> <UUID> %{...} %{...} <timestamp>
<UUID> Events.Task.Assigned <UUID> <UUID> %{...} %{...} <timestamp>

Event Store

Event Store

Event Store

Projections

Projections

Projections

Projections

Read Model

Queries

Pitfalls

Snapshotting

https://www.slideshare.net/michieltcs/cqrs-event-sourcing-in-the-wild

Snapshotting

Useful references

https://martinfowler.com/eaaDev/EventSourcing.html

Greg Young

http://udidahan.com/2009/12/09/clarified-cqrs/

https://gitter.im/commanded/Lobby

https://kalele.io/blog-posts/really-simple-cqrs

Introduction to Event Sourcing

By Bruno Antunes

Introduction to Event Sourcing

with Commanded

  • 25