SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
1CONFIDENTIAL
DISTRIBUTED TRANSACTIONS
IN SOA AND MICROSERVICES
KANSTANTSIN SLISENKA
LEAD SOFTWARE ENGINEER
NOV 9, 2017
2CONFIDENTIAL
kanstantsin_slisenka@epam.com
Kanstantsin Slisenka
Java Team Lead
Financial services, trading solutions
Speaker at: Minsk Java Tech Talks, IT Week, SEC Online,
Java Professionals
github.com/kslisenko
3CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
4CONFIDENTIAL
WHY DO WE NEED
TRANSACTIONS?
5CONFIDENTIAL
WHY DO WE NEED TRANSACTIONS?
New order created Payment received Product shipped
Data must be in known state anytime
6CONFIDENTIAL
Application
Business workflows
Infrastructure
Transactions in file systems, databases,
message brokers, caches, application servers
7CONFIDENTIAL
Transaction processing is
based on logging of
states and
transitions
HOW IT WORKS
8CONFIDENTIAL
Transaction log
• Always in known state
• States and transitions are logged
• Log can be used for recovery
DATABASE TRANSACTION AS STATE MACHINE
begin in progress
commit
rollback
INSERT UPDATE DELETE commitbegin
9CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Atomicity
All or nothing
Write-ahead log
10CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Atomicity
All or nothing
Write-ahead log
Consistency
Data always in valid state
Constraints
11CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Atomicity
All or nothing
Write-ahead log
Consistency
Data always in valid state
Constraints
Isolation
Visibility of concurrent actions
Locking
12CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Consistency
Data always in valid state
Constraints
Isolation
Visibility of concurrent actions
Locking
Durability
Changes become permanent
Write-ahead log
Atomicity
All or nothing
Write-ahead log
13CONFIDENTIAL
Transactions guarantee
the data to always be
in valid state
14CONFIDENTIAL
HOW IT WORKS?
15CONFIDENTIAL
TRAVEL BOOKING
EXAMPLE
16CONFIDENTIAL
Book trip
1. Book hotel
2. Book flight
3. Hire rental car
4. Record booking
17CONFIDENTIAL
TRAVEL BOOKING SYSTEM
DBBackend
browser
hotels flights cars bookings
18CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
hotels flights cars bookings
DB
Action Rollback action
19CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
20CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
LOCK
UPDATE
21CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
LOCK
UPDATE
LOCK
UPDATE
22CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
23CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
INSERT traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
DELETE traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
24CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
INSERT traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
DELETE traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
commit
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
Commit
25CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
UPDATE UPDATE UPDATE UPDATE
Rollback
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
INSERT traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
DELETE traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
rollback
LOCK LOCK LOCK LOCK
26CONFIDENTIAL
NOT ONLY IN DATABASES
TRANSACTIONS ARE
27CONFIDENTIAL
• Isolation levels
• Locking
• Commit logs
• Transactions
– ONE and TWO phase
28CONFIDENTIAL
Cache
Messages
Transactions
Subscriptions
ACKs, …
• Transacted sessions
• JMS attributes
– JMSXConsumerTXID
– JMSXProducerTXID
29CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
30CONFIDENTIAL
Application
HTTP
REST
SOAP
WE WANT THIS
commit
31CONFIDENTIAL
Application
HTTP
REST
SOAP
OR THIS
rollback
32CONFIDENTIAL
Application
HTTP
REST
SOAP
WHAT ACTUALLY HAPPENS
commit
fail
commit
fail
33CONFIDENTIAL
34CONFIDENTIAL
35CONFIDENTIAL
Application
HTTP
REST
SOAP
Coordinator
36CONFIDENTIAL
Application
HTTP
REST
SOAP
Coordinator
37CONFIDENTIAL
WEB-SERVICE AS STATE MACHINE
/reserve
/confirm
/cancel
reserved
confirmed
cancelled
/reserve
/confirm
/cancel
timeout
2
1
Idempotent operations
38CONFIDENTIAL
2-PHASE COMMIT
JTA/XA
39CONFIDENTIAL
2-PHASE COMMIT ALGORITHM
begin in progress
commit
rollback
prepare
All changes
saved to log
Changes copied
to storage
Changes
cancelled
2
1
40CONFIDENTIAL
JTA AND XA SPECIFICATION
Java
application
41CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Transaction
Manager
Java
application
42CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
JMS
?
Java
application
JDBC
CUSTOM
43CONFIDENTIAL
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Application server
Transaction
Manager DB
?
Java
application
begin
begin
begin
44CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
?
Java
application
update
update
update
45CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
?
Java
application
prepare
prepare
prepare
46CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
?
Java
application
commit
commit
commit
47CONFIDENTIAL
TM does all the job for us, but:
• Needs too many messages
• Doesn’t scale well
• Not all vendors support XA
48CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
49CONFIDENTIAL
WHAT IS SAGA?
50CONFIDENTIAL
SAGA EXAMPLE
Book hotel Book flight Book car
Cancel hotel Cancel flight
Confirm
booking
Fail! Retry
Retry failed
Start
Finish
Skip
51CONFIDENTIAL
SAGA TYPES
Central
coordinator
Routing slip
(peer-to-peer)
52CONFIDENTIAL
SAGA TYPES
Forward Backward
53CONFIDENTIAL
ACID
Availability
Consistency
Isolation
Durability
BASE
Basic Availability
Soft state
Eventual consistency
(Trading consistency for availability)
2-PHASE COMMIT SAGA
54CONFIDENTIAL
System is partitioned
CAP THEOREM
CONSISTENCY AVAILABILITY
Consistency
and
Availability
System is single node
55CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
56CONFIDENTIAL
Car
service
Frontend
Tier 1
Backend
Tier 2
Agency
DB
Hotels
DB
Flight
service
requests
responsescache
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
github.com/kslisenko/distributed-transactions
57CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
service
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
58CONFIDENTIAL
Car
service
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
Agency
DB
Hotels
DB
Flight
service
JMS
requests
responses
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
59CONFIDENTIAL
Car
service
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
Agency
DB
Hotels
DB
Flight
service
requests
responses
JMS JMS
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
60CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
service
JMS JMS
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
61CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
service
JMS JMS
JMS
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
62CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
serviceJMS
JMS JMS
JMS
/getTrips
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
github.com/kslisenko/distributed-transactions
63CONFIDENTIAL
LET’S GO!
64CONFIDENTIAL
CONCLUSION
1. State machines everywhere
2. Transactions everywhere
3. Design for failure
4. Rely on tools or handle by own
65CONFIDENTIAL
QUESTIONS?
THANK YOU!
KANSTANTSIN_SLISENKA@EPAM.COM

Weitere ähnliche Inhalte

Was ist angesagt?

Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
Databricks
 

Was ist angesagt? (20)

Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDD
 
Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven Design
 
YOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous MicroservicesYOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous Microservices
 
Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
 
Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Integration Patterns for Microservices Architectures
Integration Patterns for Microservices ArchitecturesIntegration Patterns for Microservices Architectures
Integration Patterns for Microservices Architectures
 
Distributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservicesDistributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservices
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice Architecture
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
 
Using all of the high availability options in MariaDB
Using all of the high availability options in MariaDBUsing all of the high availability options in MariaDB
Using all of the high availability options in MariaDB
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Microservices Decomposition Patterns
Microservices Decomposition PatternsMicroservices Decomposition Patterns
Microservices Decomposition Patterns
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 

Ähnlich wie Distributed transactions in SOA and Microservices

Ähnlich wie Distributed transactions in SOA and Microservices (20)

Mucon: Not Just Events: Developing Asynchronous Microservices
Mucon: Not Just Events: Developing Asynchronous MicroservicesMucon: Not Just Events: Developing Asynchronous Microservices
Mucon: Not Just Events: Developing Asynchronous Microservices
 
Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...
 
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
 
SVCC Developing Asynchronous, Message-Driven Microservices
SVCC Developing Asynchronous, Message-Driven Microservices  SVCC Developing Asynchronous, Message-Driven Microservices
SVCC Developing Asynchronous, Message-Driven Microservices
 
Saturn 2018: Managing data consistency in a microservice architecture using S...
Saturn 2018: Managing data consistency in a microservice architecture using S...Saturn 2018: Managing data consistency in a microservice architecture using S...
Saturn 2018: Managing data consistency in a microservice architecture using S...
 
Solving distributed data management problems in a microservice architecture (...
Solving distributed data management problems in a microservice architecture (...Solving distributed data management problems in a microservice architecture (...
Solving distributed data management problems in a microservice architecture (...
 
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)
 
Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)
 
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
 
Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)
 
Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...
 
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
 
Oracle Code One: Events and commands: developing asynchronous microservices
Oracle Code One: Events and commands: developing asynchronous microservicesOracle Code One: Events and commands: developing asynchronous microservices
Oracle Code One: Events and commands: developing asynchronous microservices
 
Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 
Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
 
Cloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant SoftwareCloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant Software
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 

Mehr von Constantine Slisenka

Profiling distributed Java applications
Profiling distributed Java applicationsProfiling distributed Java applications
Profiling distributed Java applications
Constantine Slisenka
 

Mehr von Constantine Slisenka (11)

Unlocking the secrets of successful architects: what skills and traits do you...
Unlocking the secrets of successful architects: what skills and traits do you...Unlocking the secrets of successful architects: what skills and traits do you...
Unlocking the secrets of successful architects: what skills and traits do you...
 
Lyft talks #4 Orchestrating big data and ML pipelines at Lyft
Lyft talks #4 Orchestrating big data and ML pipelines at LyftLyft talks #4 Orchestrating big data and ML pipelines at Lyft
Lyft talks #4 Orchestrating big data and ML pipelines at Lyft
 
What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)
 
What does it take to be an architect
What does it take to be an architectWhat does it take to be an architect
What does it take to be an architect
 
VoxxedDays Minsk - Building scalable WebSocket backend
VoxxedDays Minsk - Building scalable WebSocket backendVoxxedDays Minsk - Building scalable WebSocket backend
VoxxedDays Minsk - Building scalable WebSocket backend
 
Building scalable web socket backend
Building scalable web socket backendBuilding scalable web socket backend
Building scalable web socket backend
 
Latency tracing in distributed Java applications
Latency tracing in distributed Java applicationsLatency tracing in distributed Java applications
Latency tracing in distributed Java applications
 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
 
Database transaction isolation and locking in Java
Database transaction isolation and locking in JavaDatabase transaction isolation and locking in Java
Database transaction isolation and locking in Java
 
Networking in Java with NIO and Netty
Networking in Java with NIO and NettyNetworking in Java with NIO and Netty
Networking in Java with NIO and Netty
 
Profiling distributed Java applications
Profiling distributed Java applicationsProfiling distributed Java applications
Profiling distributed Java applications
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Distributed transactions in SOA and Microservices