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
160
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Circuit Breakers & Microservices
Bastian Hofmann
December 01, 2016
More Decks by Bastian Hofmann
See All by Bastian Hofmann
Monitoring in Kubernetes with Prometheus and Grafana
bastianhofmann
0
360
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
150
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
170
From source to Kubernetes in 30 minutes
bastianhofmann
0
200
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
250
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
290
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
210
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
280
Other Decks in Programming
See All in Programming
GitHubCopilotCLIのスラッシュコマンドを自作してみる
htkym
0
100
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
230
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
1.6k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
FDEが実現するAI駆動経営の現在地
gonta
2
190
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
150
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
320
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.6k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
330
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.2k
共通化で考えるべきは、実装より公開する型だった
codeegg
0
270
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
For a Future-Friendly Web
brad_frost
183
10k
Designing for Performance
lara
611
70k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Thoughts on Productivity
jonyablonski
76
5.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
HDC tutorial
michielstock
2
750
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
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]