More Related Content
More from エンジニア勉強会 エスキュービズム (20)
Cloud Design Pattern #2 Circuit-Breaker_エンジニア勉強会20140917
- 1. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
Cloud Design Pattern#2 Circuit-Breaker
2014/8/22
http://azure.microsoft.com/ja-jp/
- 2. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
カテゴリ
可用性
データ管理
設計および実装
メッセージング
管理および監視
パフォーマンスおよびスケーラビリティ
回復性
セキュリティ
- 3. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
概要
どうせミスるなら、やめようぜ
(でもいつか復活したいぜ)
- 4. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
課題と背景
①ちょっとした障害・・
「アクセスしたら、一次的な接続断により失敗した。
数秒待って、リダイレクトしたら繋がった。」
「TCPでデータ送信中、一部パケット衝突を起こしたが
再送制御により、すべてのセグメントが送れた。」
- 5. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
課題と背景
②修正に時間がかかる障害・・
「Yahooで取り上げられたサイトが落ちてる。
何度も試してるが、全然つながらない。。」
「アプリでAPIリクエストを毎○秒再送する制御を実装した!
でも全部失敗する。。」
- 6. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
いつ使うか?
まったく色の違う障害の2パターンのうち
・一時的
・持続性が高い
後者のようなケースに対応するためのパターンです。
- 7. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
使うとなぜいいのか?
1.ただ、やめるだけではなく、復旧フェーズも実装され る
⇒回復性が向上
2.無駄なトライが減るので、リソースの無駄遣いもその 分現状
⇒安定性が向上
- 8. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
動作
http://www.juservice.co.jp/nyukyo.html
- 9. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
復旧フェーズ
動作
通常フェーズ
休止フェーズ
重要
http://msdn.microsoft.com/en-us/library/dn600223.aspx
- 10. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
⑤再度リクエスト。レスポン スある??
以降のものも成功。
通常フェーズへ。
例POS API(っぽい)
復旧フェーズ
通常フェーズ
休止フェーズ
①POS APIでEC-Orangeに3 回リクエストをリトライしたが 不通、、休止フェーズへ移行
②タイムアウト、復旧フェー ズへ移行
③もう一度リクエスト、が、 不通。休止フェーズへ移行。
④タイムアウト、復旧フェー ズへ移行
http://hiro2matome.seesaa.net/article/401763234.html
- 11. Copyright © 2014 by S-cubism Technology Inc. All rights reserved.
留意事項
1.例外処理を用意する
2.ログを残す
3.手動でフェーズをハンドルできるようにする
4.アプリ特性を理解してチューニングする