Azure Storage Queuesの使い方

Azure Storage 開発

Shahzad Mian

Content Developer, DataCamp

ストレージQueuesの概要

  • ストレージキューはメッセージキューイングサービスです。
  • アプリケーションは多数のリクエストを同時に処理することがあります。
  • 各処理の完了を待つとシステムが遅くなります。
  • Azure Storage Queuesはコンポーネント間の非同期通信を実現します。
  • 非同期メッセージングにより速度とスケーラビリティを維持できます。

ストレージキューによる問題解決

Azure Storage 開発

現実世界の課題

注文集中の問題と解決策

  • Cipher CoffeeのオンラインストアはA一度に何百もの注文を受け取ります。
  • キューがなければ、各注文は他の処理が完了するまで待つ必要があります。
  • キューにより注文を即時受付し、処理を後で実行できます。
  • これによりWebサイトの速度を維持し、顧客満足度を高めます。
Azure Storage 開発

キューとは?

  • キューはメッセージを処理するための待ち行列です。
  • メッセージは先入れ先出し(FIFO)の順で処理されます。
  • 各メッセージは小さな作業単位を表します。
  • 処理が完了すると、メッセージはキューから削除されます。

キューの図解

Azure Storage 開発

Azure Storage Queuesの仕組み

Queueの仕組み

  • Azure Storage Queuesはストレージアカウントの一部です。
  • メッセージは最大64 KBで、永続的に保存されます。
  • アプリケーションの機能:
    • キューへのメッセージ送信。
    • メッセージの受信と処理。
    • 処理完了後のメッセージ削除。
  • メッセージはシステム再起動後も保持されます。
Azure Storage 開発

非同期ワークフロー

 

 

非同期ワークフロー

  • 送信者が「Order 2045の支払いを処理」などのメッセージを追加します。
  • Azure Function などのバックグラウンドサービスがメッセージを取得します。
  • 処理が成功すると、メッセージは削除されます。
  • このパターンにより、負荷時もスケーラブルかつ応答性を維持できます。
Azure Storage 開発

Cipher Coffeeの実例

  • Cipher CoffeeのWebサイトが注文メッセージをキューに送信します。
  • 注文処理システムがキューからメッセージを読み取ります。
  • メッセージがデータベースと決済システムの更新をトリガーします。
  • バリスタは顧客のチェックアウトを遅らせることなく通知を受けます。

注文プロセス

Azure Storage 開発

Queuesのメリット

  • 疎結合: システムが独立して動作します。
  • スケーラビリティ: ワーカーを追加してメッセージ処理を高速化できます。
  • 信頼性: ダウンタイム中もメッセージが保持されます。
  • 統合性: Azure FunctionsおよびLogic Appsと連携できます。

独立したシステム

スケーラブルなシステム

信頼性の高いシステム

Screenshot 2025-10-27 at 5.42.20 pm.png

Azure Storage 開発

メッセージのライフサイクル

Screenshot 2025-10-27 at 5.48.34 pm.png

  • メッセージは3つの主要なステージを経由します:
    • エンキュー: メッセージがキューに追加されます。
    • デキュー: ワーカーがメッセージを取得して処理します。
    • 削除: 処理成功後にメッセージが削除されます。
  • 失敗したメッセージは自動的に再表示され、再試行されます。
Azure Storage 開発

主なユースケース

  • 注文処理とバックグラウンド請求。

注文アイコン

  • 通知メールの送信。

メールアイコン

  • IoTテレメトリのバッファリング。

IoTアイコン

  • ログ収集とイベントパイプライン。
    • 独立した再試行可能な操作にキューを使用します。
    • その他多数
Azure Storage 開発

QueuesとService Busの比較

  • Azure Service Busは高度なメッセージングシナリオに使用されます。
  • Service Busのサポート機能:
    • メッセージの順序付けとセッション。
    • トランザクションとトピック/サブスクリプション。
  • Azure Storage Queuesは軽量ワークロードに対してシンプルでコスト効率が高いです。
  • Cipher Coffeeは注文処理とリアルタイム更新にキューを使用しています。

Screenshot 2025-10-27 at 6.13.37 pm.png

Azure Storage 開発

さあ、練習しましょう!

Azure Storage 開発

Preparing Video For Download...