見積もり
- 機能要件
- 問題の優先度
- who, why: 対象user
- when, how: 優先ユースケース
- what: 機能の必要不要
- where: 既存システム連携
- 非機能要件
- req数
- data量
- レイテンシ
- write/read heavy
ハイレベルデザイン
- APIインターフェース
- データモデル
- アーキテクチャ概要図
ローレベルデザイン(トレードオフ判断)
- 重要コンポーネント特定
- パフォーマンス
- レイテンシ
- DB最適化(インデックス、クエリ)
- キャッシュ戦略
- スケーラビリティ
- 運用負荷
- 水平スケーリング
- DB分散(リードレプリカ)
- 非同期処理(キュー)
- 可用性信頼性
- 単一障害点
- マルチAZ, リージョン
- 障害分離(サーキットブレーカーなど)
- 一貫性とトランザクション
- ACIDとRDB
- CAP定理(一貫性or可用性)
- 分散トランザクション