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
78
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
470
Chaos Engineering - W-JAX 2018
mrbw
0
310
Chaos Engineering - AWS Community Days 2018
mrbw
0
790
Chaos Engineering @ JUG Bonn
mrbw
0
160
Chaos Engineering @ Microservices Meetup Berlin
mrbw
0
130
Spring Cloud Netf
mrbw
1
200
Hysterie in verteilten Systemen - Hystrix im Einsatz
mrbw
0
340
Resilience mit Hystrix: Fehlertoleranz statt Hochverfügbarkeit
mrbw
0
240
Hystrix Warstories
mrbw
0
57
Other Decks in Technology
See All in Technology
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
160
React19.2のuseEffectEventを追う
maguroalternative
2
590
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
180
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
820
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
0
370
AWS UG Grantでグローバル20名に選出されてre:Inventに行く話と、マルチクラウドセキュリティの教科書を執筆した話 / The Story of Being Selected for the AWS UG Grant to Attending re:Invent, and Writing a Multi-Cloud Security Textbook
yuj1osm
1
120
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
280
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
0
140
もう外には出ない。より快適なフルリモート環境を目指して
mottyzzz
11
8.4k
初めてのDatabricks Apps開発
taka_aki
1
240
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.5k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
RailsConf 2023
tenderlove
30
1.3k
Being A Developer After 40
akosma
91
590k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Building Adaptive Systems
keathley
44
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Navigating Team Friction
lara
190
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
How GitHub (no longer) Works
holman
315
140k
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