2021-11-03 【マイクロサービス】サーキットブレーカー概説 アーキテクチャ マイクロサービス 課題 サービス間通信における課題として、マイクロサービス内の通信経路上の特定のAPI(サービス)が停止してしまった場合 * サービス間通信のリクエストがタイムアウトまで待たされる * 結果として、ユーザビリティが著しく低下する 対策 サーキットブレーカーを導入する 一定回数アクセスに失敗すると以後のアクセスを遮断する 即時エラーを返す エラーだとしても応答が早くなるのでユーザービリティがましになる 実装によってはメッセージをキューイングしてユーザーには成功を返すことができる 代表的なサーキットブレーカー Istio : Kuberbetesの拡張 Resilience4j : OSS. Javaで実装されている。 App Mesh : AWSマネージドサービス。サーキットブレーカー以外にもカナリアデプロイに対応。