Hochperformante Anwendungen mit Event Sourcing & Doctrine
Bevor wir in die Anatomie von EventSourcing eintauchen, ist es wichtig zu verstehen, in welchem Umfeld wird das beste Ergebnis mit EventSourcing erzielen können.
Das Gute ist, dass das Architektur-Pattern selbst eines der am einfachsten zu erlernenden Pattern ist
– sofern man Alexeys (EventStore) Vortrag glaubt. Wir haben einen Zustand und dieser wird durch
ein eingehendes Event verändert. Das ist alles!
In meinem derzeitigen Job musste ich eine gute Lösung für eine Art “state machine” für eines der
größten internationalen Discountunternehmen finden. Das stellte sich sowohl als Segen als auch als
Fluch heraus. Ein Segen, weil ich derjenige bin, den sie ausgewählt haben, um eine gute Lösung für
sie zu finden (mir ist immer noch nicht ganz klar, warum ihre Entscheidung gerade auf mich fiel).
Ein Fluch, weil mit der Möglichkeit auch eine große Verantwortung einhergeht.
In diesem Vortrag werde ich Euch auf eine Reise mitnehmen, eine Reise, die niemals enden wird.
Wie auch in Domain Driven Design ist der Weg das Ziel. Wir beginnen unsere Reise in unserer
Heimat namens Symfony. Weiter östlich gelegen ist unser erster Halt in Dresden, nahe Leipzig –
letzteres auch bekannt für die Völkerschlacht, in der Napoleon gezwungen wurde, nach Frankreich
zurückzukehren. Ich treffe Sebastian (einen netten Kerl) an einem sonnigen Tag in der Altstadt und
wir unterhalten uns über den brandneuen eventstore-doctrineadapter, den er mit einigen seiner
Freunde entwickelt hat. Neben viel Wein & gutem Essen ist mir dieser Adapter ans Herz gewachsen
und bevor ich weiterziehe, probieren wir einige grundlegende Implementierungen aus. Nur eine
meiner Stationen, bevor ich ein Telefon benutze, um mit Thomas, einem Freiburger Urgestein
(Thomas ist clean code) Kontakt aufzunehmen. Freiburg selbst ist bekannt für die Schlacht von
Freiburg. Diesmal ging der Sieg an die französischen Truppen. Aber Thomas interessiert sich nur
für Coding und nicht für Geschichte (armer Thomas). Übrigens, kennt ihr Thomas von Aquin?
Thomas erzählt mir vom symfony messenger, der stark von Matthias Nobacks Serie von
Blogbeiträgen inspiriert ist. Der symfony messenger erlaubt es uns, die Anwendung auf unsere
Bedürfnisse zu skalieren. Zurück in Stuttgart, bekanntlich bekannt für nichts, überrede ich meinen
Teamleiter (sicherlich ein Nachfolger eines russischen Adligen) zu einer weiteren Reise nach
Dresden. Wir müssen unsere Lösung unbedingt mit dem symfony messenger ausprobieren!
Was könnt Ihr von dem Vortrag erwarten? Ich werde Deutsch als Sprache verwenden (langweilig -
ich weiß). Zugegeben, es ist für mich einfacher (obwohl ich meinen schwäbischen Einschlag zu
verbergen versuchen muss). Grundsätzlich verwenden wir den eventstore-doctrineadapter - aber das
Meiste müssen wir selbst bauen. Der symfony messenger hilft uns bei der Skalierung... und
natürlich müssen wir CQRS verwenden. Lehnt euch zurück und genießt die Reise (mit Popcorn,
bitte).
Donnerstag, Oktober 5, 2023 at 14:45 PM – 15:25 PM