Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Circuit Breakers & Microservices
Search
Bastian Hofmann
December 01, 2016
Programming
2
160
Circuit Breakers & Microservices
Bastian Hofmann
December 01, 2016
Tweet
Share
More Decks by Bastian Hofmann
See All by Bastian Hofmann
Monitoring in Kubernetes with Prometheus and Grafana
bastianhofmann
0
330
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
120
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
150
From source to Kubernetes in 30 minutes
bastianhofmann
0
160
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
190
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
260
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
180
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
230
Other Decks in Programming
See All in Programming
MCPサーバー「モディフィウス」で変更容易性の向上をスケールする / modifius
minodriven
4
500
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
220
ビルドプロセスをデバッグしよう!
yt8492
0
220
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
430
Register is more than clipboard
satorunooshie
1
350
Node-REDのノードの開発・活用事例とコミュニティとの関わり(Node-RED Con Nagoya 2025)
404background
0
110
contribution to astral-sh/uv
shunsock
0
580
data-viz-talk-cz-2025
lcolladotor
0
110
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2k
CSC305 Lecture 11
javiergs
PRO
0
320
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
140
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Music & Morning Musume
bryan
46
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Side Projects
sachag
455
43k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
It's Worth the Effort
3n
187
28k
Bash Introduction
62gerente
615
210k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
Circuit Breakers & Microservices @BastianHofmann
None
None
11 million users
193 countries
~1800 request/s
lots of data
>100 million publications
~ 140 components
~ 400 repositories
haproxy node memcache postgresql mongodb solr infinispan hbase mongodb solr
community services
+ async events, stream and batch processing
Latency
Stability
Handling failures
What do I do when something breaks?
Errors happen
Bugs
Performance regressions
Server outages
Database overloads
Service A Service B 200 OK
Service A Service B 5xx
Service A Service B Timeout
Circuit Breakers
Service A Service B 200 OK Circuit Breaker Status: closed
Error rate: 0
Service A Service B Error Circuit Breaker Status: -> open
Error rate: > threshold
Service A Service B Circuit Breaker Status: -> open Error
rate: > threshold
Service A Service B Error Circuit Breaker Status: -> open
Error rate: > threshold Test if still failing
Service A Service B 200 OK Circuit Breaker Status: ->
close Error rate: 0 Test if still failing
Gracefully handling exceptions
Component based fronted
None
None
None
None
None
None
None
Degrading Functionality
Profile Publications Publication Publication Publication AboutMe LeftColumn Image Menu Institution
Profile Publications Publication Publication Publication AboutMe LeftColumn Image Menu EXCEPTION
Institution
Profile Publications Publication Publication Publication LeftColumn Image Menu Institution
How do I handle traffic spikes?
Service A Service B 200 OK Circuit Breaker
Service A Service B Circuit Breaker Service C Circuit Breaker
Timeouts
Service A Service B Circuit Breaker Service C Circuit Breaker
Timeouts
Throttling
Service A Service B Circuit Breaker Service C Circuit Breaker
Only allow xx% of calls
None
Priority
Service A Service B Circuit Breaker Service C Circuit Breaker
100% of calls 10% of calls
https://github.com/Netflix/Hystrix
https://github.com/odesk/phystrix
None
http://twitter.com/BastianHofmann http://lanyrd.com/people/BastianHofmann http://speakerdeck.com/u/bastianhofmann
[email protected]