-
Notifications
You must be signed in to change notification settings - Fork 110
Blogbeitrag: Saga Muster als Zutat für erfolgreiche Systeme #281
Conversation
👷 Deploy Preview for adesso-devblog-pr-preview processing.
|
Hallo @jo2 . Ich verstehe leider nicht, warum der Build scheitert. Der Fehler scheint in einer Docker-Operation zu liegen |
Der Build schlägt aktuell fehl, weil der aktuelle Commit aus dem adessoSE/devblog:master in deinem Fork nicht gefunden werden kann. Das funktioniert, wenn du einen Rebase ausführst. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ein ziemlich interessanter Blogbeitrag, ein paar Anmerkungen habe ich dir noch gemacht.
_data/authors.yml
Outdated
earaujo: | ||
first_name: Eleazar Alejandro | ||
last_name: Araujo | ||
bio: "Eleazar arbeitet seit 2016 als Fullstack-Engineer und beschäftigt sich gerne mit JVM Sprachen und Architekturthemen." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bio: "Eleazar arbeitet seit 2016 als Fullstack-Engineer und beschäftigt sich gerne mit JVM Sprachen und Architekturthemen." | |
bio: "Eleazar arbeitet seit 2016 als Fullstack Engineer und beschäftigt sich gerne mit JVM-Sprachen und Architekturthemen." |
categories: [Softwareentwicklung] # Pflichtfeld. Maximal eine der angegebenen Kategorien verwenden. | ||
tags: [Microservices, Resilience, Saga] # Bitte auf Großschreibung achten. | ||
--- | ||
Um eine Microservices-Architektur erfolgreich umzusetzen, muss man unterschiedliche Aspekte berücksichtigen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Um eine Microservices-Architektur erfolgreich umzusetzen, muss man unterschiedliche Aspekte berücksichtigen. | |
Um eine Microservicearchitektur erfolgreich umzusetzen, muss man unterschiedliche Aspekte berücksichtigen. |
tags: [Microservices, Resilience, Saga] # Bitte auf Großschreibung achten. | ||
--- | ||
Um eine Microservices-Architektur erfolgreich umzusetzen, muss man unterschiedliche Aspekte berücksichtigen. | ||
Unter anderem: Wie gehen wir mit Transaktionalität um? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unter anderem: Wie gehen wir mit Transaktionalität um? | |
Dazu gehört unter anderem: Wie gehen wir mit Transaktionalität um? |
--- | ||
Um eine Microservices-Architektur erfolgreich umzusetzen, muss man unterschiedliche Aspekte berücksichtigen. | ||
Unter anderem: Wie gehen wir mit Transaktionalität um? | ||
Wie soll das System reagieren, wenn mitte in einem verteilten fachlichen Vorgang einen Fehler auftritt? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wie soll das System reagieren, wenn mitte in einem verteilten fachlichen Vorgang einen Fehler auftritt? | |
Wie soll das System reagieren, wenn mitten in einem verteilten fachlichen Vorgang ein Fehler auftritt? |
Um eine Microservices-Architektur erfolgreich umzusetzen, muss man unterschiedliche Aspekte berücksichtigen. | ||
Unter anderem: Wie gehen wir mit Transaktionalität um? | ||
Wie soll das System reagieren, wenn mitte in einem verteilten fachlichen Vorgang einen Fehler auftritt? | ||
Für diese und andere Problemstellungen stehen Lösungen bereit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Für diese und andere Problemstellungen stehen Lösungen bereit. | |
In diesem Artikel schauen wir uns Lösungen für diese Problemstellung an. |
|
||
In unserem Küchebeispiel ist der Orchestrator der Chefkoch, der die Küchenstationen in einem Restaurant koordiniert. | ||
Er gibt jedem Mitarbeitenden in der notwendigen Reihenfolge Anweisungen, über welche Zutaten zubereitet werden sollen. | ||
Falls es Probleme bei einer der Schritte gibt, stellt er sicher, dass jede Beteiligte Maßnahmen einleitet, sodass am Ende die Küche in einem ordentlichen Zustand bleibt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Falls es Probleme bei einer der Schritte gibt, stellt er sicher, dass jede Beteiligte Maßnahmen einleitet, sodass am Ende die Küche in einem ordentlichen Zustand bleibt. | |
Falls es Probleme bei einem der Schritte gibt, stellt er sicher, dass alle Beteiligten Maßnahmen einleiten, sodass am Ende die Küche in einem ordentlichen Zustand bleibt. |
Er gibt jedem Mitarbeitenden in der notwendigen Reihenfolge Anweisungen, über welche Zutaten zubereitet werden sollen. | ||
Falls es Probleme bei einer der Schritte gibt, stellt er sicher, dass jede Beteiligte Maßnahmen einleitet, sodass am Ende die Küche in einem ordentlichen Zustand bleibt. | ||
|
||
## Fazit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Fazit | |
# Fazit |
|
||
Wir haben uns das Saga-Muster und dessen Hauptmerkmale angeschaut. | ||
Ferner haben wir uns die Hauptarten von Sagas angeschaut: Choreografie und Orchestrierung. | ||
Jeder hat Vorteile und Nachteile, die bei jedem Anwendungsfall abzuwägen sind. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jeder hat Vorteile und Nachteile, die bei jedem Anwendungsfall abzuwägen sind. | |
Jede hat Vorteile und Nachteile, die bei jedem Anwendungsfall abzuwägen sind. |
Wir haben uns das Saga-Muster und dessen Hauptmerkmale angeschaut. | ||
Ferner haben wir uns die Hauptarten von Sagas angeschaut: Choreografie und Orchestrierung. | ||
Jeder hat Vorteile und Nachteile, die bei jedem Anwendungsfall abzuwägen sind. | ||
Dabei Anzahl und Dauer der Arbeitsschritte, sowie der Bedarf an Status-tracking entscheidende Faktoren. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dabei Anzahl und Dauer der Arbeitsschritte, sowie der Bedarf an Status-tracking entscheidende Faktoren. | |
Bei der Auswahl sind die Anzahl und Dauer der Arbeitsschritte sowie der Bedarf an Status-Tracking entscheidende Faktoren. |
Jeder hat Vorteile und Nachteile, die bei jedem Anwendungsfall abzuwägen sind. | ||
Dabei Anzahl und Dauer der Arbeitsschritte, sowie der Bedarf an Status-tracking entscheidende Faktoren. | ||
|
||
Wenn du also das nächste Mal einen Kuchen backst oder versuchst, eine komplexe, verteilte Geschäftstransaktion in einer Microservice-Architektur abzuschließen, denkt an das Saga-Muster als Geheimzutat für deinen Erfolg! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wenn du also das nächste Mal einen Kuchen backst oder versuchst, eine komplexe, verteilte Geschäftstransaktion in einer Microservice-Architektur abzuschließen, denkt an das Saga-Muster als Geheimzutat für deinen Erfolg! | |
Wenn du also das nächste Mal einen Kuchen backst oder versuchst, eine komplexe, verteilte Geschäftstransaktion in einer Microservicearchitektur abzuschließen, denk an das Saga-Muster als Geheimzutat für deinen Erfolg! |
b50c09f
to
696889e
Compare
Blogpost seems formally correct and ready for review! |
Danke für das Feedback @jo2 . Könntest du es bitte wieder reviewen? |
@eleazar-araujo es sind noch einige Kommentare offen, sieh dir die bitte nochmal an. |
623f0c3
to
bf6cfb9
Compare
Blogpost seems formally correct and ready for review! |
1 similar comment
Blogpost seems formally correct and ready for review! |
Jetzt sollte alles erledigt sein. Vielen Dank @jo2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ein paar Sachen sind noch drin, schau bitte nochmal drüber.
Wie soll das System reagieren, wenn mitten in einem verteilten fachlichen Vorgang ein Fehler auftritt? | ||
In diesem Artikel schauen wir uns Lösungen für diese Problemstellung an. | ||
|
||
# Transaktionalität in Microservicearchitekture |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Transaktionalität in Microservicearchitekture | |
# Transaktionalität in Microservicearchitekturen |
Und um alles noch schwieriger zu machen, spricht auch noch jeder Koch eine andere Sprache. | ||
Dann wird das Kuchenbacken zu einem Albtraum. | ||
|
||
Diese Analogie steht für das Problem, mit dem die Microservicearchitektur bei der Implementierung komplexer Geschäftstransaktionen konfrontiert werden kann. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diese Analogie steht für das Problem, mit dem die Microservicearchitektur bei der Implementierung komplexer Geschäftstransaktionen konfrontiert werden kann. | |
Diese Analogie steht für das Problem, mit dem eine Microservicearchitektur bei der Implementierung komplexer Geschäftstransaktionen konfrontiert werden kann. |
|
||
# Was ist das Saga-Muster? | ||
|
||
Das Saga-Muster ist ein Entwurfsmuster, das für die Implementierung komplexer Geschäftstransaktionen in der Microservicearchitektur verwendet wird. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Das Saga-Muster ist ein Entwurfsmuster, das für die Implementierung komplexer Geschäftstransaktionen in der Microservicearchitektur verwendet wird. | |
Das Saga-Muster ist ein Entwurfsmuster, das für die Implementierung komplexer Geschäftstransaktionen in Microservicearchitekturen verwendet wird. |
Die Microservices, die Teil einer Saga sind, interagieren und steuern selbstständig den gesamten Ablauf. | ||
|
||
Eine Choreografie-Saga kann man mit einem einfachen Kochabend mit Freunden vergleichen. | ||
Der Anzahl der Beteiligten ist überschaubar und die Schritte zur Zubereitung der Zutaten einfach. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Der Anzahl der Beteiligten ist überschaubar und die Schritte zur Zubereitung der Zutaten einfach. | |
Der Anzahl der Beteiligten ist überschaubar und die Schritte zur Zubereitung der Zutaten sind einfach. |
Dies setzt voraus, dass sich die einzelnen Microservices koordinieren können, um den Transaktionszustand aufrechtzuerhalten. | ||
Es besteht kein zentraler Kontrollpunkt, der die Ausführung überwacht. | ||
|
||
Diese Art von Saga ist in der Regel einfach umzusetzen und eignet sich gut für kurzlaufenden Transaktionen mit wenigen Schritten, wo kein Tracing notwendig ist und es keinen Bedarf gibt, den Transaktionsstatus zu tracken. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diese Art von Saga ist in der Regel einfach umzusetzen und eignet sich gut für kurzlaufenden Transaktionen mit wenigen Schritten, wo kein Tracing notwendig ist und es keinen Bedarf gibt, den Transaktionsstatus zu tracken. | |
Diese Art von Saga ist in der Regel einfach umzusetzen und eignet sich gut für kurzlaufende Transaktionen mit wenigen Schritten, wo kein Tracing notwendig ist und es keinen Bedarf gibt, den Transaktionsstatus zu tracken. |
Für diese Herausforderung kommt die andere Art von Sagas infrage: | ||
|
||
|
||
### Orchestrator |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Orchestrator | |
## Orchestrator |
_Beispiel einer Orchestrator-Saga für einen Bestellvorgang_. | ||
|
||
|
||
Im obigen Diagramm können wir den schon benannte Bestellvorgang einsehen, diesmal aber als Orchestrator-Saga: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Im obigen Diagramm können wir den schon benannte Bestellvorgang einsehen, diesmal aber als Orchestrator-Saga: | |
Im obigen Diagramm ist der schon bekannten Bestellvorgang abgebildet, diesmal aber als Orchestrator-Saga: |
|
||
# Fazit | ||
|
||
Wir haben uns das Saga-Muster und dessen Hauptmerkmale angeschaut. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wir haben uns das Saga-Muster und dessen Hauptmerkmale angeschaut. | |
Wir haben uns das Saga-Muster und dessen Hauptmerkmale kennengelernt. |
# Fazit | ||
|
||
Wir haben uns das Saga-Muster und dessen Hauptmerkmale angeschaut. | ||
Ferner haben wir uns die Hauptarten von Sagas angeschaut: Choreografie und Orchestrierung. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ferner haben wir uns die Hauptarten von Sagas angeschaut: Choreografie und Orchestrierung. | |
Ferner haben wir uns mit den Hauptarten von Sagas beschäftigt: Choreografie und Orchestrierung. |
0827c19
to
f24515c
Compare
Blogpost seems formally correct and ready for review! |
Der Blogpost passt soweit. Möchtest du dein hier hinterlegtes Foto auch im offiziellen Blog verwenden? Führe bitte noch einen Rebase auf den adessoSE/devblog:master aus, danach kann dein Artikel veröffentlicht werden. |
f24515c
to
f828f01
Compare
Blogpost seems formally correct and ready for review! |
Blogpost seems formally correct and ready for review! |
Danke fürs Review @jo2. Mein hinterlegtes Foto würde ich gerne im offiziellen Blog verwenden. Es ist im assets/images/avatars/earaujo.png |
6391710
to
89bdb98
Compare
Blogpost seems formally correct and ready for review! |
Hallo @jo2 . Können wir das schon mergen? |
@eleazar-araujo leider noch nicht, da das dein erster Blogbeitrag ist, bist du noch nicht als Autor im System hinterlegt. Ich hatte das am Mittwoch beauftragt, bisher aber noch keine Rückmeldung erhalten. Ich habe da jetzt nochmal nachgehakt. |
Hallo @jo2 . Gibt es immer noch keine Rückmeldung? |
Hier gibt es leider noch kein Update. Ich habe jetzt nochmal jemanden vom Redaktionsteam direkt angeschrieben, vielleicht gibt es da eher eine Antwort.. |
Blogpost seems formally correct and ready for review! |
…and assets
Wenn du einen Pull-Request stellst, teile uns bitte deine Änderungen mit, indem du die unten angegebene Publish-Checkliste nutzt.
Publish Checkliste