「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
詳細 †
カテゴリ †
可用性 †
- アプリケーションの可用性が最大限になるように設計・実装。
データ管理 †
- データの整合性を維持するため、様々な場所にあるデータを同期する。
設計と実装 †
- コンポーネントの設計
- デプロイの一貫性や統一性
- 管理および開発を容易にする保全性
- 再使用可能性
メッセージング †
- スケーラビリティを最大化する(非同期)メッセージング インフラストラクチャ
- 課題も多数ある。
管理と監視 †
- アプリケーションの停止や再デプロイを行わずに、
変化するビジネス要件やカスタマイズに対応する。
パフォーマンスと拡張性 †
- 以下の要件に対応
- 要求のピークに対応するスケールアウト
- 要求が減少に対応するスケールイン
回復性 †
セキュリティ †
- 悪意のある攻撃からの保護
- 機密データの保護
- ユーザ認証と認可(アクセス制御)
カタログ †
フロントエンド用バックエンド †
個別サービス・インターフェイス的な。
正常性エンドポイント監視 †
公開されたエンドポイントを通じて外部ツールが定期的に
アクセスできる機能チェックをアプリケーションに実装。
- HTTP/HTTPS ヘルスチェック的な手法で確認する。
- 考慮点
- 認証
- 負荷
- 専用エンドポイントの新設
- , etc.
- インストルメンテーション
- アプリケーション実行時の挙動の監視
- ある種のインシデント改善を自動化
- メトリック アラート通知の受信
メトリック アラートを作成、表示(受信)、管理
競合コンシューマー †
- 受ける側で"調整"するパターン
- 具体例は、後述の「非同期処理サービス」。
調整(絞り弁) †
- 受ける側で"制限"するパターン
- 絞り弁 = Throttle (スロットル)
- slow_downとか、リクエスト自体を拒否するとか。
- アプリケーションの
- インスタンス
- 個々のテナント
- またはサービス全体によって使用されるリソース
の使用量を制御する。
- サービス・メータリング
使用しているリソースの計測
非同期要求 - 応答 †
- HTTP ポーリングを使用
- ポートを開いて非同期コールバックを受信出来ない場合。
キュー ベースの負荷平準化 †
タスクとそのタスクが呼び出すサービスとの間で
キューを使用して、断続的な大きい負荷を平準化する。
- 非同期処理サービスでやってるようなことをやれという話。
(「"非同期処理サービス"を使え。」とは言っていない)
優先順位キュー †
パブリッシャー/サブスクライバー †
- Microsoft Message Queue (MSMQ)等にあった。
- レプリケーションで利用。
テーブルのインデックス作成 †
マテリアライズド・ビュー †
コレは知ってるでしょ?
シャーディング †
イベント ソーシング †
※ もっと業務要素が加わっているモノもある。
コマンド クエリ責務分離 (CQRS) †
- データ ストアの読み取り操作と更新操作のデータ モデルを分離
パイプとフィルター †
補正トランザクション †
- RDBMSのトランザクション・スコープ外で補正を行う。
- チェック・ポイントで反映されたデータを取り消すなど。
リーダー選定 †
- リーダーとして機能するように、単一のタスク インスタンスが選定
- リーダー・インスタンスは、下位タスク インスタンスのアクションを調整
外部構成ストア †
- アプリケーション展開パッケージから、構成情報をを
外部ストレージなどの一元管理される場所に移動する。
参考 †
Microsoft Docs †
カテゴリ †
カタログ †
- Polly系
- Retry
- Circuit Breaker
- Timeout
- Bulkhead
- Fallback
- イベント ソース
- Ambassador
- 破損対策レイヤー
- キャッシュアサイド
- コレオグラフィ
- 要求チェック
- Schedulerエージェント スーパーバイザー
- シーケンシャルなコンボイ
- Sidecar
- 静的コンテンツ ホスティング
- ストラングラー
https://github.com/mspnp/cloud-design-patterns
- async-request-reply
- choreography
- claim-check
- competing-consumers
- compute-resource-consolidation
- external-configuration-store
- health-endpoint-monitoring
- leader-election
- pipes-and-filters
- priority-queue-sf
- priority-queue
- static-content-hosting
- valet-key
Tags: :アーキテクチャ, :クラウド系開発