クラウドアプリケーション設計原則
再試行の多段化をしない
再試行時は処理の冪等性保つ(Stripeなどでは冪等キーなどを持たせている)
サーキットブレーカーパターンの適用
バルクヘッドパターンの適用
キューで負荷を平準化する
失敗したトランザクションを補正する
補償トランザクション
Sagaパターン
クライアントの制限
スロットリング
リーダー選定パターン
CQRSとイベントソーシング
トランザクショナルOutboxパターン
楽観的並行制御
ファンアウト・ファンイン
Durable TaakはDaprに移植されてるらしい
セッションアフィニティや、スティッキーセッションに依存しない
セッション情報は外に持つ(redis)
安全にスケールインする
上限について
サービス全体の上限
サービスやリソース個別の上限
これらを操作する操作するAPIのリクエスト数上限
データストア分割(水平的、垂直的、機能的)
水平: シャーディング、ホットスポットができないようにする
計装のパターン
サービスの有効化やリソースの作成に合わせて標準で計装される
運用を支援するツールやサービスを導入すると計装される
アプリケーション開発者が計装する
ADRを残す