Web PubSubチャットはAzure Web PubSubをベースにしたマネージドチャット機能で、最小限の設定とサーバーサイドのコードでリアルタイムチャットをアプリケーションに追加できます。
チャットシナリオ向けに専用に設計されたクライアントおよびサーバーAPIを提供します。 カスタムイベントやメッセージの搭載を設計する代わりに、ルーム、メッセージ、メンバーといったチャットネイティブのコンセプトを活用します。
Web PubSubチャットはWeb PubSubのコアとなるリアルタイムメッセージングインフラの上に位置しているため、プロトコルの配線やメッセージの永続化、ファンアウトロジックを自分で作る代わりにチャット体験の構築に集中できます。
ウェブPubSubチャットサポート:
- マンツーマンおよびグループチャット
- マネージドメッセージ配信と順序付け
- チャットルームベースのメッセージ履歴
- Azure Web PubSubサービスによって支えられた高度にスケーラブルなリアルタイムメッセージング
Web PubSubチャットは独自のサービスですが、Web PubSubの基本的な機能を受け継いでいます。以下のようなものです:
- 自動スケーリング
- Geo-replication
- エンタープライズ レベルのセキュリティとコンプライアンス
なぜWeb PubSubチャットなのか?
チャットは現代のアプリケーションのコアなインタラクションモデルとなっています。 例えば、銀行は顧客のライフサイクル全体を通じて迅速なサポートを提供するアプリ内チャットを提供しています。
しかし、本番環境のチャットシステムを構築するには、通常、複数の懸念を組み合わせる必要があります。
- リアルタイム輸送
- メッセージのファンアウトと順序付け
- 接続ライフサイクル管理
- メッセージの永続性
- プラットフォームを超えたクライアントSDKについて
これらの部品を直接管理すると複雑さが増し、価値までの時間が遅くなります。
代わりにチャットで得られるもの
Web PubSubチャットは、Web PubSubの上にチャット 固有の抽象化 を提供し、これらの問題を代わりに処理します。
| 能力 | 標準ハブ | チャットハブ |
|---|---|---|
| リアルタイムメッセージング | ✔️ | ✔️ |
| Rooms | カスタム | 組み込み |
| メッセージの永続性 | カスタム | 組み込み |
| メンバーマネジメント | カスタム | 組み込み |
| チャット専用API | ❌ | ✔️ |
| クライアントSDKのエルゴノミクス | 低レベル | チャット重視 |
チャットハブでは、イベントやつながりではなく、 ルームやメッセージ、メンバーと連携できます。
適切な抽象レベルを選ぶ
必要なら 標準ハブ を使いましょう:
- プロトコル設計の完全な制御
- チャット以外のリアルタイムワークロード(テレメトリー、シグナリング、ライブダッシュボード)
- 高度にカスタムされたイベントモデル
もしよければ チャットハブ を使いましょう:
- チャット体験を素早く構築しましょう
- サービスのオーケストレーションと定型コードを減らす
- インフラよりもユーザー体験に注目しましょう
- Azure ネイティブ サービスを使用してチャット ワークロードをスケールする
両オプションは同じWeb PubSubサービス上に構築されているため、アプリケーションに最適な抽象レベルを選べます。
どのように機能するのか
生のイベントを公開したり、直接接続を管理する代わりに、アプリケーションはチャットネイティブのプリミティブとやり取りします。
- Rooms
- Messages
- Members
- ユーザー
チャットSDKとサービスハンドル:
- リアルタイムメッセージ配信
- 接続中のユーザーへのファンアウト(ユーザーが複数のデバイスまたはブラウザーのタブから接続している場合を含む)
- ルームのメンバー
- メッセージの永続性と取得
主な概念
Rooms
部屋はチャットスペースを表します。 メンバーは一人以上含むことができ、独自のメッセージ履歴を保持します。
部屋の作成やメンバー管理については、「 部屋の作成および管理」をご覧ください。
Messages
メッセージを部屋に送り、リアルタイムで接続されたメンバーに届けましょう。 Web PubSub のチャットはメッセージの順序付けとメッセージの保持を管理するため、アプリケーション側で対応する必要はありません。 メンバーは再接続や後で部屋に参加した後でも、過去のメッセージを 履歴として読み込むことができます。
メッセージ送信および履歴の読み取りについては 、「メッセージを送信および閲覧」をご覧ください。
ユーザー
ユーザーはメッセージの送受信ができるアプリケーションIDを表します。
Members
メンバーは部屋に追加されたユーザーを表します。 メンバーシップは、その部屋内でどのユーザーがメッセージを送受信できるかを管理します。
Reliability
Web PubSubチャットはWeb PubSubの 信頼性の高い WebSocket接続で動作します。 接続が切断されると、クライアントは自動的に再接続し、メッセージを失うことなく復旧します。
役割と権限
Web PubSubチャットでは、役割や権限を通じて誰が何をできるかをコントロールできます。 許可は単一のアクションであり、役割は名前付きの権限の集合です。
完全な権限リスト、組み込みロール、およびそれらの割り当てやカスタマイズ方法については、「 役割と権限の設定」をご覧ください。