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
150
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
320
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
100
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
140
From source to Kubernetes in 30 minutes
bastianhofmann
0
140
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
180
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
250
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
180
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
210
Other Decks in Programming
See All in Programming
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
380
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
640
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
640
エラーって何種類あるの?
kajitack
5
330
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
1.6k
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.8k
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
260
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
Is Xcode slowly dying out in 2025?
uetyo
1
240
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
49
32k
ふつうの技術スタックでアート作品を作ってみる
akira888
0
220
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Navigating Team Friction
lara
187
15k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Fireside Chat
paigeccino
37
3.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
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]