Javaで実現するフォールトトレランス 〜Resilience4jを使ったサーキットブレーカーの実装〜 by 今野裕介

JJUG CCC 2022 Fall
採択
2022/11/27 10:25〜
Track B (#jjug_ccc_b)
Video:15min + Live:10min
Beginner Java SE Architecture

Javaで実現するフォールトトレランス 〜Resilience4jを使ったサーキットブレーカーの実装〜

今野裕介
6

マイクロサービスにおいては一部のサービスが障害を起こして応答が不能になったり、ネットワーク的にリクエストが到達不能になることがあります。その際に無対策だと連鎖的に各サービスがダウンし、アーキテクチャー全体が機能不全に陥ってしまいます。

対策としてはサーキットブレーカーの適用が挙げられます。サーキットブレーカーは局所的な障害がアーキテクチャー全体に波及しないように障害を分離する機構です。しかし、自力で実装するのはコストが高いのが難点です。

Resilience4jはJavaでフォールトトレランスを実現するためのライブラリです。数多くの機能を備えますが、その中の一つにサーキットブレーカーがあります。本セッションでは以下内容について解説したいと思います。

・Resilience4jの概要
・Resilience4jを利用したサーキットブレーカーの実現方法の解説
・Resilience4jを利用したリトライの実現方法の解説
・弊社サービスである「楽楽勤怠」での適用例