Azure Web PubSubは、リアルタイムでアップデートを提供するアプリケーションを構築するための完全マネージドサービスです。 長期的なクライアント接続やメッセージ配信を大規模に管理するため、基盤となるリアルタイムインフラを操作する必要がありません。
Web PubSubを使ってチャットアプリの作成、AI生成トークンのストリーミング、ダッシュボードの更新、通知の配信、マルチプレイヤーゲームの調整、位置情報の追跡など、次のHTTPリクエストを待つ時間が遅くなるような体験を作れます。
接続管理やメッセージングサーバーの拡大、メッセージファンアウトの実装に開発時間を費やす代わりに、チームはアプリケーションが提供する体験に集中できます。
自分のアプリケーションに合った開発経験を選んでください
Web PubSubはリアルタイムアプリケーションを構築するための複数の方法を提供しています。 それぞれの選択肢は異なる開発ニーズを解決しつつ、管理されたスケーラブルなリアルタイムコミュニケーションを提供します。
| 能力 | 好きな時に選ぶ | 開発者価値 |
|---|---|---|
| Web PubSub(ベースサービス) | 接続、ユーザー、グループ、イベントを利用してカスタムリアルタイムアプリケーションを設計します。 | WebSocketインフラを運用せずに柔軟なメッセージングプリミティブを手に入れましょう。 |
| Socket.IO Azure | Socket.IO プログラミングモデルを使うか、既存の Socket.IO アプリケーションをAzureに移すかのどちらかです。 | 接続のスケーリングと調整を管理する間Azure、API Socket.IO 慣れておきましょう。 |
| MQTTサポート | WebSocketを介してMQTTクライアントを接続したり、MQTTとネイティブのWeb PubSubクライアント間でメッセージを交換したりできます。 | MQTTライブラリを再利用し、翻訳層を構築せずにプロトコルの相互運用性を追加できます。 |
| ウェブ PubSubチャット | チャットルーム、メンバー、注文されたメッセージ、メッセージ履歴を活用しましょう。 | チャットバックエンドを自分で組み立てるのではなく、チャット専用のAPIやマネージド機能から始めましょう。 |
どのオプションが自分のアプリケーションに合うか分からない場合は、「Azure Web PubSub機能を選択する」をご覧ください。
ベースサービスで何を作れるのでしょうか?
ベースのWeb PubSubサービスは、アプリケーションが低遅延通信を必要とし、イベントモデル、メッセージ形式、ビジネスロジックの制御を望む場合に適しています。
AI支援アプリケーションにおけるストリームトークン
Web PubSubを使って、生成されたトークンを接続されたクライアントに配信しましょう。 ユーザーは、回答が完成するのを待つことなく、すぐに返答が形作られるのを確認できます。
ルーム、メンバー、メッセージ履歴を含む完全なチャットモデルが必要なアプリケーションには、 Web PubSubチャットを検討してください。
リアルタイムのアップデートを届けてください
Web PubSubは、パブリッシャーが更新が可能になり次第、1人以上の購読者にデータ更新を配信するのを支援します。 このパターンは多くの産業やアプリケーションタイプに共通しています。
| ユースケース | アプリケーションの例 |
|---|---|
| 高頻度データ更新 | マルチプレイヤーゲーム、ソーシャルメディア投票、世論調査、オンラインオークション |
| ライブ ダッシュボードと監視 | 企業ダッシュボード、金融市場データ、売上更新、ゲームリーダーボード、IoTモニタリング |
| カスタムチャットとメッセージング | ライブチャットルーム、カスタマーサポート、ショッピングアシスタント、メッセンジャー、ゲーム内チャット |
| 位置情報の追跡 | 資産追跡、配送状況、交通情報更新、ライドシェアアプリ |
| マルチユーザー コラボレーション | 共著、共同ホワイトボード、チームミーティングアプリ |
| プッシュ通知 | ソーシャルメディア、メール、ゲーム状況、旅行アラート |
| 接続されているデバイス | ライブIoT指標、電気自動車充電ネットワーク、ライブイベントエンゲージメント |
| Automation | 上り事象からのリアルタイムトリガー |
なぜAzure Web PubSubを使うのですか?
エンタープライズアプリケーションの要件をサポートする
Web PubSubは、安全で観察可能かつレジリエントなエンタープライズアーキテクチャの一環として、リアルタイム通信を実行するための制御を提供します。
| Requirement | Web PubSubが提供するもの | 開発者価値 |
|---|---|---|
| 需要に応じたスケール | 単一のリソースは100万の同時接続までスケールできます。 プレミアム層はサービスメトリクスやスケジュールに基づくAzure Monitorの自動スケールをサポートしています。 | 交通の変化に合わせてパフォーマンスを維持し、ピーク時や静かな時間帯ごとに手動で容量を調整するのは避けましょう。 |
| 制御ネットワーク露出 | プライベートエンドポイントを使用し、パブリックネットワークアクセスを無効にし、IPルールを適用し、ネットワークアクセス制御を持つパブリックおよびプライベートエンドポイントのリクエストタイプを許可または拒否します。 | 必要に応じてサービストラフィックをプライベートネットワークに留め、REST API呼び出しなどの機密操作は承認されたネットワーク経路に制限します。 |
| アイデンティティベースアクセスを活用してください | Microsoft Entra IDとAzureロールベースのアクセス制御を使ってリクエストを承認できます。 Web PubSubは管理されたアイデンティティを使ってイベントハンドラへのリクエストを認証し、Key Vault参照にアクセスすることもできます。 | 最小権限アクセスを適用し、アプリケーションコード内のアクセスキーの配布や管理の必要性を減らしましょう。 |
| 失敗とグローバルユーザー向けの設計 | プレミアムティアは、サポート地域で自動的にゾーン冗長性を提供します。 ジオレプリケーションは クライアントを健康で近くのレプリカにルーティングし、レプリカ間の通信を処理できます。 | 可用性ゾーンや地域の障害に対応し、地域ごとに分散したユーザーにサービスを提供し、独自のクロスリージョンメッセージングレイヤーを作成する必要はありません。 |
| サービス健康状態の観察 | 組み込み のサービスメトリクス は、接続、クォータ利用率、サーバー負荷、トラフィック、REST APIの応答時間、クライアントリクエストの状態をカバーします。 Azure Monitorを使ってメトリクスベースのアラートを作成できます。 | 容量や信頼性の問題を早期に検出し、Web PubSubを既存の運用監視に統合します。 |
注
オートスケーリング、ゾーン冗長性、ジオレプリケーションにはプレミアム層が必要です。 ゾーン冗長性はサポートエリアで利用可能です。
本番環境での信頼性推奨事項やフェイルオーバー動作については、「Azure Web PubSub Serviceの信頼性」を参照してください。
プラットフォームや言語を超えたクライアントへのリーチ
Web PubSubは、ウェブおよびモバイルブラウザ、デスクトップおよびモバイルアプリ、サーバープロセス、IoTデバイス、ゲームコンソールに対応しています。 C#、Java、JavaScript、Python向けのサーバーおよびクライアントSDKが利用可能です。 ベースサービスが標準のWebSocketおよびREST APIをサポートしているため、アプリケーションはSDKなしでも統合可能です。
メッセージがクライアントに届く方法を制御する
ベースサービスは、接続ルーティング層を構築することなく共通の配信パターンをサポートします。
| メッセージング パターン | それが可能にするもの |
|---|---|
| すべてのクライアントにブロードキャストする | 接続されたすべてのクライアントにアップデートを送ってください。 |
| グループに送信する | アプリケーションによって定義されたクライアントのサブセットにリーチします。 |
| ユーザーに送信する | 複数のデバイスやブラウザタブを含む、すべてのユーザー接続を同期させます。 |
| クライアント pub/sub | グループ内の認可されたクライアントがすべてのメッセージをアプリケーションサーバー経由でルーティングせずにメッセージを交換できるようにします。 |
| クライアントからサーバーへのメッセージング | アプリケーションのバックエンドでクライアントイベントを低遅延で受信できます。 |
ベースサービスはどうやって使えますか?
あなたのアーキテクチャに最も適した統合モデルを選択してください:
- サーバーレスのリアルタイムアプリケーションを構築する:JavaScript、C#、Java、PythonでWeb PubSubとAzure Functions連携を活用してください。
- クライアントのパブリック/サブを有効にする: Web PubSubサブプロトコルを使って、認可されたクライアントが他のクライアントにメッセージを公開できるようにします。
- アプリケーションサーバーの統合: メッセージ送信、グループ管理、接続の閉じにはサービスSDKを使いましょう。
- REST APIを呼び出します: RESTリクエストを行えるバックエンドからメッセージを送りましょう。
次のステップ
能力を選択する
利用可能なプログラミングモデルとそれぞれが担当する作業を比較してみてください。
ライブデモを試してみてください
セットアップなしでリアルタイムメッセージングを体験できます。
基地サービスを探検する
AzureポータルでWebのPubSubのコア機能を直接試すか、ローカルのpub/subアプリケーションを構築するのも良いでしょう。