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
58
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
420
Chaos Engineering - W-JAX 2018
mrbw
0
290
Chaos Engineering - AWS Community Days 2018
mrbw
0
730
Chaos Engineering @ JUG Bonn
mrbw
0
140
Chaos Engineering @ Microservices Meetup Berlin
mrbw
0
110
Spring Cloud Netf
mrbw
1
160
Hysterie in verteilten Systemen - Hystrix im Einsatz
mrbw
0
300
Resilience mit Hystrix: Fehlertoleranz statt Hochverfügbarkeit
mrbw
0
230
Hystrix Warstories
mrbw
0
54
Other Decks in Technology
See All in Technology
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
160
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
120
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
ハイテク休憩
sat
PRO
2
160
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
750
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
250
生成AIのガバナンスの全体像と現実解
fnifni
1
190
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
How to Ace a Technical Interview
jacobian
276
23k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Practical Orchestrator
shlominoach
186
10k
A Tale of Four Properties
chriscoyier
157
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
The World Runs on Bad Software
bkeepers
PRO
65
11k
Fireside Chat
paigeccino
34
3.1k
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