RTMとは
RTM(Real-Time Messaging)のこと
- テキストメッセージ、データの送受信に特化
- 主にチャットやデータ更新などの用途
- サーバーを経由してメッセージを配信
- 比較的軽量なデータ通信
従来のシステムとどう違うのか
従来のWebの仕組み(HTTP通信)は「手紙」のようなもの
- 相手に何か伝えたい時に手紙を書いて送る
- 相手からの返事を受け取るまで待つ
- また何か言いたいことがあれば新しい手紙を書く
誰かと連絡をする際に、タイムラグが発生してスムーズに連絡を取ることができない。
一度、途切れてからどんな内容の話をしていたのかを思い出すのが大変
RTMは日常生活の中での「電話」のようなもの
- 一度電話を繋げれば、そのまま会話が続けられる
- 相手が話したことがすぐに聞こえる
- こちらも即座に返事ができる
リアルタイムでの会話ができるためタイムラグなく話をすることができる。
RTMが利用されている例
- チャットアプリ
- LINEやSlackのような即座にメッセージが届く機能
- 相手が「入力中…」という状態がリアルタイムで見れる
- オンライゲーム
- ゲーム内のチャットがすぐに届く
RTMの利点
ユーザーが新しい情報を得るために画面更新が必要ないこと。新しい情報が届いたら自動的に画面に表示される。
そのため、よりスムーズで以前なコミュニケーションや情報更新が可能になっている
RTCとは
RTC (Real-Time Communication)のこと
- 音声・映像の双方向通信に特化
- 通話やビデオ会議などの用途
- できるだけ直接的なP2P通信を行う(低遅延のため)
- 大容量のデータをリアルタイムにやり取り
従来の音声・映像通信システムの特徴
- サーバー経由の中央集中型
- すべての通信がサーバーを経由
- 遅延が発生しやすい
- サーバーの負荷が大きい
- 専用ソフトウェアが必要
- 特別なアプリケーションのインストールが必要
- プラットフォームごとに異なる実装が必要
RTCの技術により
- より低遅延
- より高品質
- より低コストな通信を実現している
ライブ配信などでの活用方法
YoutubeライブやTwitchなどの配信プラットフォームではRTCとRTMを組み合わせて効率的なシステムを実現している
配信者側(1対多の通信)
- RTC:配信者の映像・音声を配信
- 大人数への配信の場合は、配信サーバーを経由して配信する形が一般的
- なぜなら、P2P接続を大量の視聴者と確立するのは負荷が大きすぎるため
視聴者とのやり取り
- RTM:チャットやリアクション(いいね!など)
- テキストメッセージの送受信
- スタンプや絵文字の送信
- 「○○さんが入室しました」などの通知
- 視聴者数のリアルタイム更新
役割分担をすることで
- 重い処理(映像・音声)と軽い処理(テキスト)を分離
- 配信の安定性を確保
- インタラクティブなコミュニケーションを実現