SlideShare ist ein Scribd-Unternehmen logo
#WISSENTEILEN
Aus der Rubrik „Spaß mit Microservices“
Transaktionen
#WISSENTEILEN
Lars Röwekamp | @_openKnowledge | @mobileLarson
#WISSENTEILEN
ÜBER OPEN KNOWLEDGE
Branchenneutrale Softwareentwicklung & IT-Beratung
#WISSENTEILEN
ÜBER MICH
Wer bin ich - und wenn ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Autor, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast (a.k.a. “stets bemüht“)
Lars Röwekamp (a.k.a. @mobileLarson)
#WISSENTEILEN#WISSENTEILEN
Agenda:
Wo liegt das Problem?
Die Alternative a.k.a. „Plan B“
TX via SAGA Pattern
#WISSENTEILEN
Wo liegt das
Problem?
#WISSENTEILEN
Der fette
MONOLITH
#WISSENTEILEN
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Hey, lasst uns Microservices machen …
#WISSENTEILEN
Lasst und zusammengehörige Logik finden.
#WISSENTEILEN
Und in „kleine“ Services zerlegen.
#WISSENTEILEN
Upps, das gilt natürlich auch für die DB!
#WISSENTEILEN
Database per Service Pattern
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
#WISSENTEILEN
Use-Case
TX
#WISSENTEILEN
Das klappt nie im Leben!
(Anonymous, DB Admin)
#WISSENTEILEN
Wir brauchen Transaktionen!
(Anonymous, DB Admin)
#WISSENTEILEN#WISSENTEILEN
Die Alternative
a.k.a. „Plan B“
#WISSENTEILEN#WISSENTEILEN
„Benötigen wir wirklich eine
Transaktion oder gibt es einen
fachlich sinnvollen Plan B?“
#WISSENTEILEN
„Starbucks does not know
Two-Phase-Commit“
http://www.enterpriseintegrationpatterns.com/ramblings/18_starbucks.html
#WISSENTEILEN
The Real World is
not transactional!
#WISSENTEILEN
The Online World is
not transactional!
#WISSENTEILEN
#WISSENTEILEN
Plan „B“
Strategies
Order
Service
Inventory
Service
#2
#WISSENTEILEN
Strategie #1
Lazy Evaluation
#WISSENTEILEN
Plan B - Strategy #1: Lazy Evaluation
a.k.a. die „es kommt, wie es kommt“ Strategie
• TX fachlich aufsplitten, sequentiell
durchführen und schauen, ob es klappt
• im Problemfall alternative Logik ausführen
#WISSENTEILEN
Lazy
Evaluation
Order
Service
Inventory
Service
#2
#WISSENTEILEN
Lazy
Evaluation
Order
Service
Inventory
Service
checkOut
#2
#WISSENTEILEN
Lazy
Evaluation
Order
Service
Inventory
Service
checkOut
#1
decrement
#WISSENTEILEN
Strategie #2
Beeing Optimistic
#WISSENTEILEN
Plan B - Strategy #2: Beeing Optimistic
a.k.a. die „es wird schon gutgehen“ Strategie
• wie “Lazy Evaluation“ nur mit erhöhter
Wahrscheinlichkeit, dass die „Transaktion“
erfolgreich abläuft.
#WISSENTEILEN
Beeing
Optimistic
Order
Service
Inventory
Service
#2
#4
least known value
of items available:
#WISSENTEILEN
Beeing
Optimistic
Order
Service
Inventory
Service
checkOut
#2
#4
least known value
of items available:
#WISSENTEILEN
Beeing
Optimistic
Order
Service
Inventory
Service
checkOut
#1
decrement
#1
least known value
of items available:
#WISSENTEILEN
Strategie #3
Safeguard
#WISSENTEILEN
Plan B - Strategy #3: Safeguard
a.k.a. die „frag besser nochmal nach“ Strategie
• wie “Beeing Optimistic“ nur auf Basis von
„nearly Real-Time“ Daten
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
#2
#4
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#2
#4
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#2
inventory?
#4
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#2
2 items left!
#2
least known value
of items available:
#WISSENTEILEN
Optimistic
w/ Safeguard
Order
Service
Inventory
Service
checkOut
#1
decrement
#1
least known value
of items available:
#WISSENTEILEN
Strategie #4
Plan „B“
#WISSENTEILEN
Order
Service
Inventory
Service
#0
Good to have
a Plan „B“
#1
least known value
of items available:
#WISSENTEILEN
Good to have
a Plan „B“
Order
Service
Inventory
Service
#0
checkOut
#1
least known value
of items available:
#WISSENTEILEN
Good to have
a Plan „B“
Order
Service
Inventory
Service
#0
checkOut
#1
least known value
of items available:
„Ist der
Datenstand
konsistent?“
#WISSENTEILEN
Good to have
a Plan „B“
Order
Service
Inventory
Service
#0
checkOut
#1
least known value
of items available:
„Kann ich
pünktlich
liefern?“*
*„Und ist der Datenstand
letztendlich konsistent
(aka eventual consistency)?“
#WISSENTEILEN#WISSENTEILEN
Plan B? Schön & gut, aber ich
brauche meine Transaktionen!
#WISSENTEILEN#WISSENTEILEN
TX via
SAGA Pattern
#WISSENTEILEN
Microservices mit „eigenen“ Daten
#WISSENTEILEN
Fachliche TX über Servicegrenzen hinweg
#WISSENTEILEN
(Quelle: Microservices Pattern, Chris Richardson)
#WISSENTEILEN
(Quelle: Microservices Pattern, Chris Richardson)
#WISSENTEILEN
(Quelle: Microservices Pattern, Chris Richardson)
„Sichtbarkeit"
Order Service
„Sichtbarkeit“
Customer Service
#WISSENTEILEN
it‘s all about
consistency
- eventual -
#WISSENTEILEN
Wie garantiere ich die Konsistent der
Daten über Servicegrenzen hinweg?
#WISSENTEILEN
Strategie #1
überdenke die
Servicegrenzen
#WISSENTEILEN
Die
„Service“
Strategie
#WISSENTEILEN
Die
„Service“
Strategie
#WISSENTEILEN
Geänderte Servicegrenzen
• technologisch eine super Lösung, aber …
• Problem der Verantwortlichkeiten
• Problem Bounded Context / Domänen Modell
• Vorteile der Microservices gehen verloren
• „Big Ball of Mud“ lässt grüßen
#WISSENTEILEN
Strategie #2
XA mit 2PC
#WISSENTEILEN
Die
„XA“
Strategie
#WISSENTEILEN
Die
„XA“
Strategie
Btw: DB locks
Btw: Chatty O(4n)
mit Retries = (n^2)
Btw: CAP Theorem
#WISSENTEILEN
Verteilte Transaktionen via XA
• aus Developer-Sicht wie lokale TX, aber …
• Verlust der losen Kopplung, da synchrone IPC
• kein Support durch „moderne Plattformen“*
* Cloud-Komponenten, noSQL, MQs
#WISSENTEILEN
Strategie #3
DIY 2PC
#WISSENTEILEN
Die
„DIY 2PC“
Strategie*
*Nein, das willst du nicht. Glaube mir!
#WISSENTEILEN
Strategie #4
Business TX via
SAGA Pattern
#WISSENTEILEN
Quelle:
SAGAS, Hector Garcia-Molina
& Kenneth Salem, January 1987
Die
„Saga“
Strategie
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
SAGA Idee:
Abbilden einer verteilten fachlichen
Transaktion durch eine Abfolge lokaler
technischer Transitionen / Transaktionen
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
• Konsistenz von Daten zwischen Services
wird durch eine wohldefinierte Abfolge lokaler
Transitionen/Transaktionen erreicht.
• Service kommuniziert „erfolgreiche“ lokale
Transition/Transaktion an den nächsten
beteiligten Service*.
*mehr dazu später
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Die
„Saga“
Strategie
Invariante:
sum(open order)
is smaller or equals
customer.creditLimit
#WISSENTEILEN
Wow, that
is simple!
What can
go wrong?
#WISSENTEILEN
Die
„Saga“
Strategie
#WISSENTEILEN
Die
„Saga“
Strategie
#WISSENTEILEN
Die
„Saga“
Strategie
CA = Compensation Algorith a.k.a.
Compensation Transaction
#WISSENTEILEN
Die
„Saga“
Strategie
CA = Compensation Algorith a.k.a.
Compensation Transaction
„Every Ti has its Ci“
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
• wohldefinierte Abfolge von Compensation
Algorithms realisieren verteiltes Rollback
• Compensation Algorithms sind fachlicher
Code und somit Applikationslogik
• Abfolge von lokalen TXs & CAs kann
beliebig komplex werden!
#WISSENTEILEN
Frage:
Wie koordiniert
man das Ganze?
#WISSENTEILEN
Steuerung von SAGAs
TX 1
TX 2
TX 3
TX 4
TX 5
TX 6
order = PENDING
item = PENDINGAPPORVED
APPORVED
#WISSENTEILEN
Steuerung von SAGAs
• Choreographie
• Orchestrierung
#WISSENTEILEN
Steuerung von SAGAs
• Choreographie
• Orchestrierung
#WISSENTEILEN
Choreographie von SAGAs
• implizite Sequenzsteuerung
• verteilte Koordination durch Eventfluss
• „Wissen“ liegt bei den beteiligten Services
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Saga via
Choreography
#WISSENTEILEN
Choreographie von SAGAs
• pro
lose gekoppelt (Teilnehmer kennen sich nicht)
relativ einfach zu implementieren
• contra
i.d.R. zyklische Abhängigkeiten
erhöhte Komplexität im Domänen-Modell
kein zentraler Business-Code (wann valide?)
#WISSENTEILEN
Choreographie von SAGAs
• btw lose Kopplung
Teilnehmer kennen sich zwar nicht, wissen aber
genau, was bei einem Event zu tun ist und wie
im Anschluss – durch ein eigenes Event – zu
antworten ist (a.k.a. pseudo lose Kopplung)
#WISSENTEILEN
Steuerung von SAGAs
• Choreographie
• Orchestrierung
#WISSENTEILEN
Orchestrierung von SAGAs
• explizite Sequenzsteuerung
• zentraler SAGA-Koordinator im Service
• Command / Handler Pattern
• beteiligte Services haben kein „Wissen“
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Saga via Orchestration
#WISSENTEILEN
Orchestration von SAGAs
• pro
Logik ist einfach(er) zu verstehen
fachliche Kopplung nur unidirektional
keine zyklischen Abhängigkeiten
Separation of Concerns (Domain Logic vs. TX)
#WISSENTEILEN
Orchestration von SAGAs
• contra
„Smart Orchestrator & Dump Services“ Pattern,
d.h. Risiko, zu viel Business Logic im
Orchestrator zu zentralisieren
#WISSENTEILEN
Orchestration von SAGAs
• btw Orchestrator
Will man den wirklich selber bauen? Nein!
Alternative 1: Saga Framework
Alternative 2: Lightweight Workflow Engine
#WISSENTEILEN
Frage:
Und das kann
funktionieren?
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
• Services veröffentlichen „Erfolgs“-Nachricht
direkt nach lokaler TX
• lokale TX und „Erfolgs“-Nachricht sind
atomare Einheit aus Sicht des Services
• garantierte Beendigung der Business TX*
*Message Broker buffered bei Bedarf die Message
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Konsistenz von Daten und Nachrichten
#WISSENTEILEN
Fehlende Isolation
• SAGA = ACD (ACID ohne Isolation)
• fehlende Isolation kann zu Anomalien führen
(lost updates, dirty reads, event race condition)
• Anomalien müssen soweit minimiert bzw.
verhindert werden, dass sie fachlich vertretbar
sind!
#WISSENTEILEN
#WISSENTEILEN
Überdenke deine
Prozesse
#WISSENTEILEN
Überdenke deine
Servicegrenzen
#WISSENTEILEN
Realisiere fachliche
Transaktionen
#WISSENTEILEN
Realisiere fachliche
Kompensationen
#WISSENTEILEN
Die Weisheit des Tages:
„Wenn deine Service-Landkarte am Ende
genauso aussieht, wie dein Monolith,
dann hattest du entweder vorher
kein Problem oder wirst zukünftig
eine Menge Probleme haben!“
#WISSENTEILEN
Verteilte Transaktionen via SAGAs
• „Database per Service“ Pattern erfordert
Alternative zu gewohnten Transaktionen
• Sagas simulieren verteilte Transaktion durch
Abfolge lokaler Transaktionen
• Saga Abfolge wird durch Choreographie oder
Orchestrierung koordiniert
#WISSENTEILEN
Herausforderungen von SAGAs
• Atomicity
Database & Event TX je Teilnehmer
• Reliability
Reliable Event-basierte Kommunikation
• Coupling
durch Choreographie oder Orchestration geht
die lose Kopplung teilweise verloren
#WISSENTEILEN
Herausforderungen von SAGAs
• Rollback
Compensation Transactions statt Rollback
• Isolation
SAGAs sind evtl. verflochten, d.h.
Intermediate-States sind für alle sichtbar
#WISSENTEILEN
? ? ?
@mobileLarson
@_openKnowledge
#WISSENTEILEN
Ressourcen
• SAGA Frameworks
Eventuate Tram Sagas
• Lightweight Workflow Engines
Zeebe.io
• See also
https://github.com/meirwah/awesome-workflow-engines
#WISSENTEILEN
Kontakt
LARS RÖWEKAMP
CIO NEW TECHNOLOGIES
lars.roewekamp@openknowledge.de
+49 (0)441 4082 – 0
@mobileLarson
@_openknowledge
OFFENKUNDIGGUT
#WISSENTEILEN
Bildnachweise
#19 © vasakna – fotolia.com
#25 © rawpixel.com – shutterstock.com
#43 © vadymvdrobot – fotolia.com
#82 © pathdoc – shutterstock.com
#119 © garagestock – shutterstock.com
All other pictures inside this presentation orginate
from pixabay.com or were created by my own.

Weitere ähnliche Inhalte

Was ist angesagt?

Endereços IP
Endereços IPEndereços IP
Endereços IP
Ivo Cuco
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
Eduardo Pires
 
Tecnicas de conversão e compressão; Redes de comunicação 1º Módulo
Tecnicas de conversão e compressão; Redes de comunicação 1º MóduloTecnicas de conversão e compressão; Redes de comunicação 1º Módulo
Tecnicas de conversão e compressão; Redes de comunicação 1º Módulo
Igor Santos
 
Gerenciadores de Layout
Gerenciadores de LayoutGerenciadores de Layout
Gerenciadores de Layout
Daniel Arndt Alves
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
Victor Hazin da Rocha
 
Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemas
Helder da Rocha
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
Aparicio Junior
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
AlexandreBartie
 
Rangkuman Addressing
Rangkuman AddressingRangkuman Addressing
Rangkuman Addressing
Robby Firmansyah
 
Clean Code na Prática
Clean Code na PráticaClean Code na Prática
Clean Code na Prática
Douglas Siviotti
 
Contoh Desain Web yang Baik dan Buruk
Contoh Desain Web yang Baik dan BurukContoh Desain Web yang Baik dan Buruk
Contoh Desain Web yang Baik dan Buruk
Siska Amelia
 
Telkom Sigma Software Security System v1
Telkom Sigma Software Security System v1Telkom Sigma Software Security System v1
Telkom Sigma Software Security System v1
Directorate of Information Security | Ditjen Aptika
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
Wagner Zaparoli
 

Was ist angesagt? (13)

Endereços IP
Endereços IPEndereços IP
Endereços IP
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
 
Tecnicas de conversão e compressão; Redes de comunicação 1º Módulo
Tecnicas de conversão e compressão; Redes de comunicação 1º MóduloTecnicas de conversão e compressão; Redes de comunicação 1º Módulo
Tecnicas de conversão e compressão; Redes de comunicação 1º Módulo
 
Gerenciadores de Layout
Gerenciadores de LayoutGerenciadores de Layout
Gerenciadores de Layout
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemas
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
Rangkuman Addressing
Rangkuman AddressingRangkuman Addressing
Rangkuman Addressing
 
Clean Code na Prática
Clean Code na PráticaClean Code na Prática
Clean Code na Prática
 
Contoh Desain Web yang Baik dan Buruk
Contoh Desain Web yang Baik dan BurukContoh Desain Web yang Baik dan Buruk
Contoh Desain Web yang Baik dan Buruk
 
Telkom Sigma Software Security System v1
Telkom Sigma Software Security System v1Telkom Sigma Software Security System v1
Telkom Sigma Software Security System v1
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 

Ähnlich wie Spaß mit Microservices: Transaktionen

Aus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": TransaktionenAus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": Transaktionen
OPEN KNOWLEDGE GmbH
 
Mittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und TransaktionenMittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und Transaktionen
OPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten Architekturen
OPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten Systemen
OPEN KNOWLEDGE GmbH
 
Das passende Backend für meine Apps
Das passende Backend für meine AppsDas passende Backend für meine Apps
Das passende Backend für meine Apps
OPEN KNOWLEDGE GmbH
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!
OPEN KNOWLEDGE GmbH
 
Microservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und PatternsMicroservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und Patterns
OPEN KNOWLEDGE GmbH
 
Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?
OPEN KNOWLEDGE GmbH
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere Architekturansatz
OPEN KNOWLEDGE GmbH
 
Die Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von MicroservicesDie Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von Microservices
OPEN KNOWLEDGE GmbH
 
Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”
OPEN KNOWLEDGE GmbH
 
Zukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit MicroservicesZukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit Microservices
OPEN KNOWLEDGE GmbH
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
OPEN KNOWLEDGE GmbH
 
Less Server vs. Serverless?
Less Server vs. Serverless?Less Server vs. Serverless?
Less Server vs. Serverless?
OPEN KNOWLEDGE GmbH
 
Microservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesMicroservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu Microservices
OPEN KNOWLEDGE GmbH
 
Java EE meets Microservices
Java EE meets MicroservicesJava EE meets Microservices
Java EE meets Microservices
OPEN KNOWLEDGE GmbH
 
Hands-On Microservices mit Java
Hands-On Microservices mit JavaHands-On Microservices mit Java
Hands-On Microservices mit Java
OPEN KNOWLEDGE GmbH
 
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoMobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
OPEN KNOWLEDGE GmbH
 
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINEINTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
OPEN KNOWLEDGE GmbH
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
OPEN KNOWLEDGE GmbH
 

Ähnlich wie Spaß mit Microservices: Transaktionen (20)

Aus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": TransaktionenAus der Rubrik "Spaß mit Microservices": Transaktionen
Aus der Rubrik "Spaß mit Microservices": Transaktionen
 
Mittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und TransaktionenMittendrin statt nur dabei: Microservices und Transaktionen
Mittendrin statt nur dabei: Microservices und Transaktionen
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten Architekturen
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten Systemen
 
Das passende Backend für meine Apps
Das passende Backend für meine AppsDas passende Backend für meine Apps
Das passende Backend für meine Apps
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!
 
Microservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und PatternsMicroservices Architecture: Architektur und Patterns
Microservices Architecture: Architektur und Patterns
 
Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?Java EE goes Microservices. Are you serious?
Java EE goes Microservices. Are you serious?
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere Architekturansatz
 
Die Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von MicroservicesDie Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von Microservices
 
Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”Herausforderung „Multi-Channel Architecture”
Herausforderung „Multi-Channel Architecture”
 
Zukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit MicroservicesZukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit Microservices
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
 
Less Server vs. Serverless?
Less Server vs. Serverless?Less Server vs. Serverless?
Less Server vs. Serverless?
 
Microservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu MicroservicesMicroservices Migration: Vom Monolithen zu Microservices
Microservices Migration: Vom Monolithen zu Microservices
 
Java EE meets Microservices
Java EE meets MicroservicesJava EE meets Microservices
Java EE meets Microservices
 
Hands-On Microservices mit Java
Hands-On Microservices mit JavaHands-On Microservices mit Java
Hands-On Microservices mit Java
 
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-BingoMobile- & Offline-First: Mehr als nur Buzzword-Bingo
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
 
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINEINTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
INTEGRATION VON SECURITY-CHECKS IN DIE CI-PIPELINE
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
 

Mehr von OPEN KNOWLEDGE GmbH

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
OPEN KNOWLEDGE GmbH
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
OPEN KNOWLEDGE GmbH
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
OPEN KNOWLEDGE GmbH
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
OPEN KNOWLEDGE GmbH
 
Nie wieder Log-Files!
Nie wieder Log-Files!Nie wieder Log-Files!
Nie wieder Log-Files!
OPEN KNOWLEDGE GmbH
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
OPEN KNOWLEDGE GmbH
 
API Expand Contract
API Expand ContractAPI Expand Contract
API Expand Contract
OPEN KNOWLEDGE GmbH
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
OPEN KNOWLEDGE GmbH
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
OPEN KNOWLEDGE GmbH
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
OPEN KNOWLEDGE GmbH
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale Netze
OPEN KNOWLEDGE GmbH
 
Business-Mehrwert durch KI
Business-Mehrwert durch KIBusiness-Mehrwert durch KI
Business-Mehrwert durch KI
OPEN KNOWLEDGE GmbH
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
OPEN KNOWLEDGE GmbH
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und Testing
OPEN KNOWLEDGE GmbH
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
OPEN KNOWLEDGE GmbH
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
OPEN KNOWLEDGE GmbH
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
OPEN KNOWLEDGE GmbH
 
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
OPEN KNOWLEDGE GmbH
 

Mehr von OPEN KNOWLEDGE GmbH (20)

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Nie wieder Log-Files!
Nie wieder Log-Files!Nie wieder Log-Files!
Nie wieder Log-Files!
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
API Expand Contract
API Expand ContractAPI Expand Contract
API Expand Contract
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale Netze
 
Business-Mehrwert durch KI
Business-Mehrwert durch KIBusiness-Mehrwert durch KI
Business-Mehrwert durch KI
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und Testing
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
 

Spaß mit Microservices: Transaktionen