SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Eventzentrierte 
Architekturen 
Event Sourcing & CQRS 
@ndrssmn
Event Sourcing
1) Printmedium was created 
2) Product was placed 
5) Multiple Frames were removed 
11) Product was configured
http://127.0.1.1:8082/ 
SELECT * 
FROM events 
WHERE aggregate_id = 
'86ea6d38-5854-43c8-9f91- 
85b2a3000c21';
✓
Eager oder Lazy Fetching?
Command 
Query 
Responsibility 
Segregation
ES+CQRS 
● Replay der Events 
● Befüllen neuer Read Models mit historischen Daten
http://127.0.1.1:8082/ 
DELETE FROM PRINTED_MATERIAL_MASTERS; 
$ jconsole
` 
ES+CQRS
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
Herausforderungen 
● Aggregat-Modellierung 
● Eventual Consistency 
● Versionierung von Events 
● Einbindung in bestehende Systeme 
(Bounded Contexts und Anti Corruption Layer)
Nächster SoCraMOB Open Space 
Samstag, 29. November 
Bielefeld 
Anmeldung: 
https://www.softwerkskammer.org/activities/ 
socramob-2014-4
Links 
● Greg Young: Unleash Your Domain 
http://www.infoq.com/presentations/greg-young-unshackle-qcon08 
● Martin Fowler: Event Sourcing 
http://martinfowler.com/eaaDev/EventSourcing.html 
● Martin Fowler: CQRS 
http://martinfowler.com/bliki/CQRS.html 
● Philip Jander: Persistenz mit Event Sourcing 
http://heise.de/-1974051 
● Marco Heimeshoff, Philip Jander: CQRS – neues Architekturprinzip zur Trennung 
von Befehlen und Abfragen 
http://www.heise.de/-1797489.html 
● DDD/CQRS Mailing Liste 
https://groups.google.com/group/dddcqrs 
● Greg Youngs Event Store 
http://geteventstore.com/ 
● Axon Framework 
http://www.axonframework.org/

Weitere ähnliche Inhalte

Ähnlich wie Eventzentrierte Architekturen (JUG Münster)

K8s-native Daten-Pipelines mit Argo Workflows und Events
K8s-native Daten-Pipelines mit Argo Workflows und EventsK8s-native Daten-Pipelines mit Argo Workflows und Events
K8s-native Daten-Pipelines mit Argo Workflows und EventsQAware GmbH
 
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?Michael Hofmann
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesQAware GmbH
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudTrivadis
 
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Marc Müller
 
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingTipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingJörn Dinkla
 
Oracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im ÜberblickOracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im ÜberblickGFU Cyrus AG
 

Ähnlich wie Eventzentrierte Architekturen (JUG Münster) (8)

K8s-native Daten-Pipelines mit Argo Workflows und Events
K8s-native Daten-Pipelines mit Argo Workflows und EventsK8s-native Daten-Pipelines mit Argo Workflows und Events
K8s-native Daten-Pipelines mit Argo Workflows und Events
 
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloud
 
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
 
Feature Flags mit Togglz
Feature Flags mit TogglzFeature Flags mit Togglz
Feature Flags mit Togglz
 
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingTipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
 
Oracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im ÜberblickOracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im Überblick
 

Eventzentrierte Architekturen (JUG Münster)

  • 1. Eventzentrierte Architekturen Event Sourcing & CQRS @ndrssmn
  • 2.
  • 3.
  • 5. 1) Printmedium was created 2) Product was placed 5) Multiple Frames were removed 11) Product was configured
  • 6.
  • 7. http://127.0.1.1:8082/ SELECT * FROM events WHERE aggregate_id = '86ea6d38-5854-43c8-9f91- 85b2a3000c21';
  • 8.
  • 9. Eager oder Lazy Fetching?
  • 11.
  • 12. ES+CQRS ● Replay der Events ● Befüllen neuer Read Models mit historischen Daten
  • 13. http://127.0.1.1:8082/ DELETE FROM PRINTED_MATERIAL_MASTERS; $ jconsole
  • 15. 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
  • 16. Herausforderungen ● Aggregat-Modellierung ● Eventual Consistency ● Versionierung von Events ● Einbindung in bestehende Systeme (Bounded Contexts und Anti Corruption Layer)
  • 17. Nächster SoCraMOB Open Space Samstag, 29. November Bielefeld Anmeldung: https://www.softwerkskammer.org/activities/ socramob-2014-4
  • 18. Links ● Greg Young: Unleash Your Domain http://www.infoq.com/presentations/greg-young-unshackle-qcon08 ● Martin Fowler: Event Sourcing http://martinfowler.com/eaaDev/EventSourcing.html ● Martin Fowler: CQRS http://martinfowler.com/bliki/CQRS.html ● Philip Jander: Persistenz mit Event Sourcing http://heise.de/-1974051 ● Marco Heimeshoff, Philip Jander: CQRS – neues Architekturprinzip zur Trennung von Befehlen und Abfragen http://www.heise.de/-1797489.html ● DDD/CQRS Mailing Liste https://groups.google.com/group/dddcqrs ● Greg Youngs Event Store http://geteventstore.com/ ● Axon Framework http://www.axonframework.org/