SAA / ドメイン2 レジリエントなアーキテクチャの設計
Amazon MQ
は、Apache ActiveMQおよびRabbitMQ互換のマネージドメッセージブローカーです。SAA では、既存アプリケーションが標準メッセージプロトコルやブローカー機能に依存し、大きな変更を避けてAWSへ移行する場合に選びます。
概要
キューやトピックを介して送信側と受信側を分離します。AWSがブローカーの、ソフトウェア保守、障害復旧を管理します。
主要技術
①エンジンとプロトコル
ActiveMQまたはRabbitMQを選び、既存のJMS、AMQP、MQTT、STOMPなどの対応プロトコルやクライアントを活用します。
②単一インスタンスと冗長構成
本番環境では複数にまたがる冗長構成を検討します。クライアント側も再接続とを実装し、ブローカー切り替えに耐えられるようにします。
③SQS/SNSとの違い ⚠️ 頻出
| 要件 | 選ぶサービス |
|---|---|
| AWSネイティブで運用最小化 | / |
| 既存ブローカーを維持 | |
| イベントバスでサービス連携 | |
| ワークフローの状態管理 |
④疎結合と障害分離
コンシューマー停止中もメッセージを保持し、送信側の処理を継続できます。再配信に備え、重複処理しても結果が壊れないなコンシューマーを設計します。
試験対策
「ActiveMQ/RabbitMQ互換」「既存アプリを変更できない」「標準プロトコル」がです。新規クラウドネイティブ設計では、より運用負荷の低いやを優先します。