会員登録すると
学習することができます。
会員登録する(無料)
学習することができます。
登録済みの方はこちら
ログイン
学ぶ目的
密結合と疎結合
注文を受けた処理が、在庫・メール・請求の処理を順に直接呼ぶと、どれか1つが遅れたり止まったりしただけで全体が止まります。これが密結合です。間にキューやトピックを置き、受け取ったことだけ返して後で処理すると、各部分が独立して動けます。これが疎結合です。
SQS の標準キューと FIFO キュー
- 標準キュー … ほぼ上限なく速い。順番は大まかで、同じメッセージが2回以上届くことがある
- FIFO キュー … メッセージグループ ID ごとに順番を守り、重複を除く。速さに上限がある
可視性タイムアウトとデッドレターキュー
受け取られたメッセージは、可視性タイムアウト(既定30秒、最大12時間)の間、ほかの受信者から見えなくなります。処理し終えたら削除します。削除しないまま時間が過ぎると、また見えるようになり、別の受信者が受け取ります。何度受け取っても処理できないメッセージは、受信回数の上限(maxReceiveCount)を超えたらデッドレターキューへ移します。Lambda で SQS を読むときは、可視性タイムアウトを関数のタイムアウトの6倍以上にすることが勧められています。
SNS と EventBridge
- SNS … 1つのメッセージを、複数の SQS キューや Lambda などに一斉に配る(ファンアウト)。購読ごとにフィルタできる
- EventBridge … イベントの中身のパターンでルールを書き、合うものを送り先に届ける。AWS のサービスや外部の SaaS のイベントも扱え、決まった時刻に動かすスケジュールもある
「1件を複数に配る」なら SNS、「ためておいて順に処理する」なら SQS、「中身で振り分ける」なら EventBridge が目安です。
このレクチャーで学ぶこと
- 密結合と疎結合の違い、非同期にする利点
- SQS の標準キューと FIFO キューの違い
- 可視性タイムアウトとデッドレターキュー
- SNS のファンアウトと EventBridge のルール
質問
まだ質問は投稿されていません。
質問投稿
ログイン後に質問の投稿ができます。
#1
未完了
試験の全体像と学び方 ― DVA-C03の4分野と合格基準を知り、計画を立てる
#2
未完了
SDKと認証情報 ― IAMロールと一時的な認証情報で、鍵をコードに書かずにAWSを呼ぶ
#3
未完了
Lambdaの開発 ― 呼び出し方・設定・同時実行・失敗したイベントの行き先
#4
未完了
API Gateway ― LambdaとつなぐAPIの返し方・ステージ・制限・タイムアウト
#5
未完了
DynamoDBの設計 ― キー・インデックス・読み込みの整合性とキャパシティの計算
#6
未完了
S3と署名付きURL ― アップロードとダウンロードを、期限付きで安全に任せる
#7
未完了
メッセージングで疎結合にする ― SQS・SNS・EventBridgeを、条件から選び分ける
#8
未完了