Transcript
Page 1: Eventzentrierte Architekturen (JUG Münster)

Eventzentrierte Architekturen

Event Sourcing & CQRS

@ndrssmn

Page 2: Eventzentrierte Architekturen (JUG Münster)
Page 3: Eventzentrierte Architekturen (JUG Münster)
Page 4: Eventzentrierte Architekturen (JUG Münster)

Event Sourcing

Page 5: Eventzentrierte Architekturen (JUG Münster)

1) Printmedium was created

2) Product was placed

5) Multiple Frames were removed

11) Product was configured

Page 6: Eventzentrierte Architekturen (JUG Münster)
Page 7: Eventzentrierte Architekturen (JUG Münster)

http://127.0.1.1:8082/

SELECT *FROM eventsWHERE aggregate_id = '86ea6d38-5854-43c8-9f91-85b2a3000c21';

Page 8: Eventzentrierte Architekturen (JUG Münster)

Page 9: Eventzentrierte Architekturen (JUG Münster)

Eager oder Lazy Fetching?

Page 10: Eventzentrierte Architekturen (JUG Münster)

CommandQueryResponsibilitySegregation

Page 11: Eventzentrierte Architekturen (JUG Münster)
Page 12: Eventzentrierte Architekturen (JUG Münster)

ES+CQRS

● Replay der Events● Befüllen neuer Read Models mit historischen Daten

Page 13: Eventzentrierte Architekturen (JUG Münster)

http://127.0.1.1:8082/

DELETE FROM PRINTED_MATERIAL_MASTERS;

$ jconsole

Page 14: Eventzentrierte Architekturen (JUG Münster)

`

ES+CQRS

Page 15: Eventzentrierte Architekturen (JUG Münster)

Event Sourcing + CQRS

● Events ermöglichen– Lose Kopplung durch Messaging

● Skalierbarkeit (und Performance)– Verteilung

– Caching (HTTP Resources, Event Streams als application/atom+xml)

● Kombinierbar mit– REST

– Reaktiver Programmierung (Zustand = foldLeft(Event...))

– Web Sockets

– Microservices

– Polyglot Persistence

● Vereinfacht Complex Event Processing

Page 16: Eventzentrierte Architekturen (JUG Münster)

Herausforderungen

● Aggregat-Modellierung● Eventual Consistency● Versionierung von Events● Einbindung in bestehende Systeme

(Bounded Contexts und Anti Corruption Layer)

Page 17: Eventzentrierte Architekturen (JUG Münster)

Nächster SoCraMOB Open Space

Samstag, 29. November

Bielefeld

Anmeldung:https://www.softwerkskammer.org/activities/socramob-2014-4

Page 18: Eventzentrierte Architekturen (JUG Münster)

Links● Greg Young: Unleash Your Domainhttp://www.infoq.com/presentations/greg-young-unshackle-qcon08

● Martin Fowler: Event Sourcinghttp://martinfowler.com/eaaDev/EventSourcing.html

● Martin Fowler: CQRShttp://martinfowler.com/bliki/CQRS.html

● Philip Jander: Persistenz mit Event Sourcinghttp://heise.de/-1974051

● Marco Heimeshoff, Philip Jander: CQRS – neues Architekturprinzip zur Trennung von Befehlen und Abfragenhttp://www.heise.de/-1797489.html

● DDD/CQRS Mailing Listehttps://groups.google.com/group/dddcqrs

● Greg Youngs Event Storehttp://geteventstore.com/

● Axon Frameworkhttp://www.axonframework.org/


Top Related