Transcript
Page 1: Eventzentrierte Architekturen

Eventzentrierte Architekturen

Event Sourcing & CQRS

@ndrssmn

Page 2: Eventzentrierte Architekturen
Page 3: Eventzentrierte Architekturen
Page 4: Eventzentrierte Architekturen

Event Stream eines Printmedium

1) Printmedium was created

2) Product was placed

3) Multiple Frames were removed

4) Product was configured

Page 5: Eventzentrierte Architekturen
Page 6: Eventzentrierte Architekturen

Event Sourcing

Page 7: Eventzentrierte Architekturen
Page 8: Eventzentrierte Architekturen

CommandQueryResponsibilitySegregation

Page 9: Eventzentrierte Architekturen
Page 10: Eventzentrierte Architekturen

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 11: Eventzentrierte Architekturen

Herausforderungen

● Aggregat-Modellierung● Eventual Consistency● Versionierung von Events

Page 12: Eventzentrierte Architekturen

Nächster SoCraMOB Open Space

Samstag, 16. August

Osnabrück

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

Page 13: Eventzentrierte Architekturen

Links● Greg Young: Unleash Your Domain

http://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/forum/#!forum/dddcqrs

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

● RserviceBushttp://rubygems.org/gems/rservicebus


Top Related