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
jjug_ccc_fall_ykonno.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yusuke Konno(Rakus)
December 02, 2022
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jjug_ccc_fall_ykonno.pdf
Yusuke Konno(Rakus)
December 02, 2022
More Decks by Yusuke Konno(Rakus)
See All by Yusuke Konno(Rakus)
20210901_lt.pdf
yusukekonnorakus
0
29
meetup_20210608_kintai.pdf
yusukekonnorakus
0
1.6k
Other Decks in Technology
See All in Technology
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
170
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
5
880
20260801_スクフェス大阪
kgnkhkr
1
870
CloudWatchから始めるAWS監視
butadora
0
310
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
200
SmartHR Engineering Team Deck
smarthr
0
120
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
180
歴史から理解するクラウドインフラのしくみ
kizawa2020
1
200
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
120
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
5
860
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
100
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
260
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
820
Are puppies a ranking factor?
jonoalderson
1
3.7k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
460
Site-Speed That Sticks
csswizardry
13
1.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The browser strikes back
jonoalderson
0
1.4k
Become a Pro
speakerdeck
PRO
31
6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
550
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
230
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
190
Transcript
©2022 RAKUS Co., Ltd. Javaで実現する フォールトトレランス 〜Resilience4jを使ったサーキットブレーカーの実装〜 株式会社ラクス 今野裕介
今野裕介(こんのゆうすけ) • 株式会社ラクス所属 • サーバーサイドエンジニア • 楽楽勤怠の開発に従事 • チーム内における役割 ◦
打刻機能をメインに新機能開発を担当 ◦ 他にも開発プロセスの改善などいろいろやってます 2
サーキットブレーカーパターンとは • マイクロサービスなどでカスケード障害に対応するために採用される • 障害を検知したサービスへのリクエストを予め遮断する ◦ 局所的な問題がシステム全体に波及しないようにする ◦ 予め遮断することで応答が速くなる 3
Resilience4jの概要 • Javaのフォールトトレラント用のライブラリ ◦ サーキットブレーカー以外にもリトライ、流量制御、 タイムアウトハンドリングなどができる • 各要素を組み合わせて適用できる ◦ サーキットブレーカー+リトライなど
• 内部依存しているのはvavrのみ 4
サーキットブレーカーのステート • CLOSED、OPEN、HALF_OPENの3つがある ◦ CLOSED:ブレーカーは未稼働=すべてのリクエストが通る ◦ OPEN:ブレーカーは稼働=すべてのリクエストを遮断 ◦ HALF_OPEN:ブレーカーは半稼働=一部のリクエストだけ通す 5
CLOSED OPEN HALF_OPEN
実装のステップ • 実装はたったの3ステップ ◦ 設定を作る ◦ リクエスト部分をデコレートする ◦ デコレートした処理を実行する •
サーキットブレーカー以外も上記の方法で実現できる ◦ また、複数のフォールトトレランスを組み合わせられる 6
コードサンプル(サーキットブレーカー) 7
リトライ • デコレートした処理を指定回数だけやりなおす処理 ◦ 偶発的な失敗をリカバリするのに向いている • 実装方法はサーキットブレーカーと同様に3ステップ ◦ 設定 =>
デコレーション => 実行 8
コードサンプル(リトライ) 9
コードサンプル(組み合わせ) 10
勤怠管理システムでの適用例 • ICカード打刻機能で採用 ◦ 専用端末によるICカード打刻用のマイクロサービス ◦ 独立したインフラ・アプリケーションを構築している • 勤怠管理本体に対してリクエストを送る際に適用 ◦
本体と通信が不通な場合に備え、パターン適用 ◦ 他にはリトライも適用 11
勤怠管理システムでの適用例 ICカード 打刻端末 打刻アプリ ケーション 本体 同期バッチ ① ④ ②
③ A B サーキットブレーカー+リトライ リトライのみ 12
まとめ • Resilience4jで簡単にサーキットブレーカーを実現できる! • Resilience4jは適用も簡単! ◦ 設定 => 対象処理のデコレート =>
実行の3ステップ ◦ 複数のフォールトトレランスの組み合わせもかんたん 13
ご清聴ありがとうございました!