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
Hystrix @ Vaadin Meetup Düsseldorf
Search
Benjamin Wilms
September 12, 2016
Technology
0
51
Hystrix @ Vaadin Meetup Düsseldorf
Folien zu meinem Talk auf dem 2. Vaadin Meetup in Düsseldorf vom 8.9.2016
Benjamin Wilms
September 12, 2016
Tweet
Share
More Decks by Benjamin Wilms
See All by Benjamin Wilms
Chaos Engineering @ Spring I/O 2019 Barcelona
mrbw
1
390
Chaos Engineering - W-JAX 2018
mrbw
0
290
Chaos Engineering - AWS Community Days 2018
mrbw
0
690
Chaos Engineering @ JUG Bonn
mrbw
0
130
Chaos Engineering @ Microservices Meetup Berlin
mrbw
0
97
Spring Cloud Netf
mrbw
1
140
Hysterie in verteilten Systemen - Hystrix im Einsatz
mrbw
0
290
Resilience mit Hystrix: Fehlertoleranz statt Hochverfügbarkeit
mrbw
0
210
Hystrix Warstories
mrbw
0
49
Other Decks in Technology
See All in Technology
HEXA OSINT CTF V3 作戦会議
meow_noisy
0
110
Tebiki株式会社 エンジニア採用資料
tebiki
0
4.1k
ユーザーストーリーのレビューを自動化したみたの
bun913
1
300
2024-04-06 AMeDAS to Lagoon SORACOM UG 2024-04-06
anysonica
0
120
Apple Vision Pro trial session
akkeylab
0
120
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
24
4.9k
アプリがつくるNOT A HOTELブランド
hokuts
0
450
20240416_devopsdaystokyo
kzkmaeda
1
180
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
2
740
【SORACOM UG】SIM Deep Dive セキュアエレメント編
soracom
PRO
0
250
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
220
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
150
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
421
63k
Code Review Best Practice
trishagee
54
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Statistics for Hackers
jakevdp
789
220k
Documentation Writing (for coders)
carmenintech
59
3.9k
How to Ace a Technical Interview
jacobian
272
22k
Docker and Python
trallard
33
2.7k
Atom: Resistance is Futile
akmur
258
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
The Cult of Friendly URLs
andyhume
73
5.7k
Scaling GitHub
holman
457
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
353
18k
Transcript
Hystrix_ Benjamin Wilms
2 Agenda
3 About me Benjamin Wilms www.codecentric.de blog.codecentric.de @MrBWilms IT-Consultant
4 Hystrix Introduction
5
6 99,99 %
7 Bei 30 abhängigen µServices: 99,7 %
8 2 Stunden und 15 Minuten Downtime pro Monat
9 Welche Features bietet Hystrix?
10
11 8 Resilience Patterns
12 Pattern • Timeout (Hystrix) • Bulkheads (Hystrix) • Circuit
Breaker (Hystrix) • Steady State • Fail Fast • Handshaking • Test harness • Decoupling middleware
13 Real World
14 24/7 Kundenportal Flickr: Jessica Spengler
15 geplante Ausfallzeiten
16 ungeplante Ausfallzeiten
17 Legacy Backend via Hystrix
18 Demo-Anwendung
19 Sender & Receiver Transport GmbH
20 Demo-Architektur
21 Demo-Architektur
22 Hystrix & Archaius
23 Hystrix & Archaius • dynamic & typed • thread
safe • polling framework • callback mechanism • dynamic configuration
24 Hystrix & Archaius • AWS Dynamo DB • Apache
ZooKeeper • CoreOS etcd
25 CoreOS etcd • Distributed key value store • REST
API • Cluster ready
26 Architektur
27 Archaius & etcd // Config fallback (config.properties) and Etcd
configuration compositeConfig = new ConcurrentCompositeConfiguration(); ClasspathPropertiesConfiguration.initialize(); // File based config // CoreOS Etcd service configuration etcdConfigSource = new EtcdConfigurationSource(etcd, "/hystrix/"); etcdConfig = new DynamicWatchedConfiguration(etcdConfigSource); compositeConfig.addConfiguration(etcdConfig,"etcd dynamic override config"); ConfigurationManager.install(compositeConfig);
28 Chaos Monkey
29 Chaos Monkey
30 Simian Army
31 Archaius & etcd Timeouts Exceptions
32 Archaius & etcd curl -L -X PUT http://etcd:2379/v2/keys/hystrix/chaos.monkey.active -d
value=true
33 Demo Hystrix Configuration via etcd
34 Spring Cloud Netflix & Spring Boot @SpringBootApplication @EnableCircuitBreaker @EnableHystrixDashboard
@Import(ArchaiusConfiguration.class) public class TransportServiceAppl { public static void main(String[] args) { SpringApplication.run(TransportServiceApp.class, args); } }
35 Demo Zusammenfassung
36 Zusammenfassung • Chaos Monkey aktiviert • Remote Services konfiguriert
• Hystrix Timeouts gesetzt • Hystrix Circuit Breaker open/close • Hystrix Fallbacks deaktiviert
37 GitHub Demo-Projekt unter: github.com/MrBW/hystrix-warstories-applications
38 Danke. Fragen?
39