SlideShare a Scribd company logo
1 of 51
@nicolas_frankel
Istio vs. Hystrix/Resilience4J
Battle of the Circuit Breakers
@nicolas_frankel
@nicolas_frankel
• Developer Advocate
• Developer until last September
• DevOps and Cloud curious
Me, myself and I
@nicolas_frankel
Hazelcast
HAZELCAST IMDG is an operational,
in-memory, distributed computing
platform that manages data using
in-memory storage, and performs
parallel execution for breakthrough
application speed and scale.
HAZELCAST JET is the ultra fast,
application embeddable, 3rd
generation stream processing
engine for low latency batch
and stream processing.
@nicolas_frankel
• Some introduction
• The problem
• The circuit-breaker pattern
• Istio implementation
• Hystrix implementation
• Demo
Agenda
@nicolas_frankel
• Componentization via Services
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
• Organized around Business Capabilities
• Products not Projects
µservice: a tentative definition
https://martinfowler.com/articles/microservices.html
@nicolas_frankel
• Componentization via Services
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
• Organized around Business Capabilities
• Products not Projects
µservice: a tentative definition
https://martinfowler.com/articles/microservices.html
@nicolas_frankel
• Microservices are an
organizational solution to an
organizational problem
• They are ill-adapted to most orgs
Word of warning
https://martinfowler.com/bliki/MicroservicePrerequisites.html
@nicolas_frankel
"organizations which design systems
... are constrained to produce
designs which are copies of the
communication structures of these
organizations."
Conway’s Law
@nicolas_frankel
https://www.nginx.com/blog/adopting-microservices-at-netflix-lessons-for-team-and-process-design/
@nicolas_frankel
https://www.nginx.com/blog/adopting-microservices-at-netflix-lessons-for-team-and-process-design/
@nicolas_frankel
“I see you have a poorly structured
monolith. Would you like me to
convert it into a poorly structured set
of microservices?”
Rant of the day
https://twitter.com/architectclippy/status/570025079825764352
@nicolas_frankel
Webservice, not microservice
Semantics!
@nicolas_frankel
• “Anything that can go wrong will go
wrong”
• Apply that to webservices
architecture
Reminder: Murphys’s law
@nicolas_frankel
@nicolas_frankel
• The network is reliable
• Latency is zero
• Bandwidth is infinite
• The network is secure
• Topology doesn't change
• There is one administrator
• Transport cost is zero
• The network is homogeneous
Reminder: Fallacies of distributed
computing
https://yourlogicalfallacyis.com/
@nicolas_frankel
• The network is reliable
• Latency is zero
• Bandwidth is infinite
• The network is secure
• Topology doesn't change
• There is one administrator
• Transport cost is zero
• The network is homogeneous
Reminder: Fallacies of distributed
computing
https://yourlogicalfallacyis.com/
@nicolas_frankel
A sample webservice architecture
F B
C1
C2
@nicolas_frankel
A sample webservice architecture
F B
C1
C2
@nicolas_frankel
A sample webservice architecture
F B
C1
C2
@nicolas_frankel
A sample webservice architecture
F B
C1
C2
@nicolas_frankel
A sample webservice architecture
F B
C1
C2
@nicolas_frankel
“A service client should invoke a remote service via a
proxy that functions in a similar fashion to an electrical
circuit breaker.”
https://microservices.io/patterns/reliability/circuit-breaker.html
Enter the Circuit Breaker pattern
@nicolas_frankel
Circuit Breaker state machine
@nicolas_frankel
• Number of failed calls
• Elapsed time strategy:
• Fixed
• Doubling
• Something else
• Number of successful calls
Configuration options
@nicolas_frankel
What to do in the case of timeout?
The most important configuration
option
@nicolas_frankel
1. Recommendation webservice
• “People also bought xyz”
2. Pricing webservice
3. Payment webservice
4. Logging webservice
Use-case: e-commerce webshop
@nicolas_frankel
• Fire-and-forget
• Asynchronous calls
Logging
@nicolas_frankel
• Synchronous req/response
• Optional
• Fallback options
• Display no recommendations
• Static recommendations set
Recommendation
@nicolas_frankel
• Synchronous req/response
• Required
• But better sell at a slightly
outdated price!
• Fallback options
• Accept outdated data from
another source
• In-memory cache
Pricing
@nicolas_frankel
• Synchronous req/response
• Required
• Fallback options
• Accept potentially bad payments 🤔
Payment
@nicolas_frankel
Available strategies
Strategy Implementations Fits
Black Box ● Proxies
● Service meshes
Fail fast
White Box Libraries
● Hystrix
● Resilience4J
Fallbacks relying
on business logic
@nicolas_frankel
“A service mesh is a configurable infrastructure
layer for a microservices application. It makes
communication between service instances flexible,
reliable, and fast. The mesh provides service
discovery, load balancing, encryption,
authentication and authorization, support for the
circuit breaker pattern, and other capabilities.”
https://www.nginx.com/blog/what-is-a-service-mesh/
Service mesh
@nicolas_frankel
• Open Source service mesh
• Leverages Kubernetes
• Implements the sidecar pattern
• Uses the Envoy proxy under the
hood
Istio
@nicolas_frankel
Sidecar pattern
@nicolas_frankel
Istio from a birds-eye view
https://istio.io/docs/concepts/what-is-istio/
@nicolas_frankel
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: foo
spec:
host: foo
trafficPolicy:
outlierDetection:
consecutiveErrors: 3
interval: 10s
baseEjectionTime: 1m
maxEjectionPercent: 80
Circuit-breaker configuration in Istio
Number of consecutive errors that open the circuit breaker
Interval between two checks
Duration of opening
Percentage of evicted instances
@nicolas_frankel
• No fallback
Cons of Istio
@nicolas_frankel
A talk in which you’re the hero!
Go to slide 39 Go to slide 44
@nicolas_frankel
“Hystrix is a latency and fault tolerance
library designed to isolate points of access
to remote systems, services and 3rd party
libraries, stop cascading failure and enable
resilience in complex distributed systems
where failure is inevitable.”
Hystrix
@nicolas_frankel
• Provided by Netflix
• Currently in maintenance mode ⚠️
• Superseded by Resilience4J
• But not equivalent
Hystrix
@nicolas_frankel
• Wraps calls into “commands”
• Run commands asynchronously
from a thread pool
• Measure success/failures
• Circuit-breaker implementation
• Fallback logic
Hystrix features
@nicolas_frankel
• A lot of configuration options
• Hard to fine-tune
• No big picture
Cons of Hystrix
@nicolas_frankel
• Easy Hystrix integration
• Also:
• Service discovery: Eureka
• Declarative REST client: Feign
• Client-side LB: Ribbon
• etc.
Spring Cloud Netflix
@nicolas_frankel
“Resilience4j is a lightweight fault
tolerance library inspired by Netflix
Hystrix, but designed for Java 8 and
functional programming.”
Resilience4J
@nicolas_frankel
• Circuit Breaker
• Rate Limiter
• Retry
• Cache
• etc.
Resilience4J’s features
@nicolas_frankel
• Each feature is designed as a
function
• Uses Java 8 functional interfaces
• e.g. Supplier
• Based on function composition
• Based on Vavr
• Functional Programming in Java
Resilience4J’s design principles
@nicolas_frankel
• Need to be very familiar with
Functional Programming
• No big picture
Cons of Resilience4J
@nicolas_frankel
@nicolas_frankel
@nicolas_frankel
• https://blog.frankel.ch/
• @nicolas_frankel
• https://git.io/JenH9
Thanks

More Related Content

What's hot

What's hot (20)

Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
What is Docker Architecture | Edureka
What is Docker Architecture | EdurekaWhat is Docker Architecture | Edureka
What is Docker Architecture | Edureka
 
Springboot Microservices
Springboot MicroservicesSpringboot Microservices
Springboot Microservices
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes Architecture
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
RabbitMQ & Kafka
RabbitMQ & KafkaRabbitMQ & Kafka
RabbitMQ & Kafka
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 

Similar to GOTO Berlin - Battle of the Circuit Breakers: Resilience4J vs Istio

Similar to GOTO Berlin - Battle of the Circuit Breakers: Resilience4J vs Istio (20)

OSAD - Battle of the Circuit Breakers
OSAD - Battle of the Circuit BreakersOSAD - Battle of the Circuit Breakers
OSAD - Battle of the Circuit Breakers
 
Tech talks - 3 performance improvements
Tech talks - 3 performance improvementsTech talks - 3 performance improvements
Tech talks - 3 performance improvements
 
JavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architectureJavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architecture
 
YAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
YAJUG - 3 Idées d’amélioration pour vos Architectures MicroservicesYAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
YAJUG - 3 Idées d’amélioration pour vos Architectures Microservices
 
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
Voxxed Days Cluj - 3 performance improvements with Hazelcast IMDG in your mic...
 
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
YaJUG/Kaiserslautern JUG - 3 easy improvements in your microservices architec...
 
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
Istanbul JUG - 3 performance improvements with Hazelcast IMDG in your microse...
 
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
go>tech world - 3 performance improvements with Hazelcast IMDG in your micros...
 
BigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingBigData conference - Introduction to stream processing
BigData conference - Introduction to stream processing
 
Devclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingDevclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processing
 
SouJava- 3 easy performance improvements in your microservices architecture
SouJava- 3 easy performance improvements in your microservices architectureSouJava- 3 easy performance improvements in your microservices architecture
SouJava- 3 easy performance improvements in your microservices architecture
 
ConFoo - 3 performance improvements
ConFoo - 3 performance improvementsConFoo - 3 performance improvements
ConFoo - 3 performance improvements
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
AllTheTalks.online - A Streaming Use-Case: And Experiment in Continuous Deplo...
 
London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...
 
Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
 
Minimizing Information Transparency
Minimizing Information TransparencyMinimizing Information Transparency
Minimizing Information Transparency
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 

More from Nicolas Fränkel

jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cache
Nicolas Fränkel
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
Nicolas Fränkel
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen Cache
Nicolas Fränkel
 

More from Nicolas Fränkel (20)

SnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationSnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy application
 
Un CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jourUn CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jour
 
Zero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastZero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with Hazelcast
 
jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cache
 
ADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in Go
 
TestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsTestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your Tests
 
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheGeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
 
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring BootOSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen Cache
 
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
 
JUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingJUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streaming
 
Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!
 
vJUG - Introduction to data streaming
vJUG - Introduction to data streamingvJUG - Introduction to data streaming
vJUG - Introduction to data streaming
 
OSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoOSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in Go
 
vKUG - Migrating Spring Boot apps from annotation-based config to Functional
vKUG - Migrating Spring Boot apps from annotation-based config to FunctionalvKUG - Migrating Spring Boot apps from annotation-based config to Functional
vKUG - Migrating Spring Boot apps from annotation-based config to Functional
 
ING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
ING Meetup - Migrating Spring Boot Config Annotations to Functional with KotlinING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
ING Meetup - Migrating Spring Boot Config Annotations to Functional with Kotlin
 
JUG SF - Introduction to data streaming
JUG SF - Introduction to data streamingJUG SF - Introduction to data streaming
JUG SF - Introduction to data streaming
 
SCALE - Stream processing and Open Data, a match made in Heaven
SCALE - Stream processing and Open Data, a match made in HeavenSCALE - Stream processing and Open Data, a match made in Heaven
SCALE - Stream processing and Open Data, a match made in Heaven
 
DevOpsDays Madrid - Zero-downtime deployment with Kubernetes, Spring Boot and...
DevOpsDays Madrid - Zero-downtime deployment with Kubernetes, Spring Boot and...DevOpsDays Madrid - Zero-downtime deployment with Kubernetes, Spring Boot and...
DevOpsDays Madrid - Zero-downtime deployment with Kubernetes, Spring Boot and...
 

Recently uploaded

Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 

GOTO Berlin - Battle of the Circuit Breakers: Resilience4J vs Istio

Editor's Notes

  1. skinparam dpi 450 participant a as "a:A" participant b as "b:B" activate a a -> b: call() deactivate a hide footbox