AiThao
テクノロジー · AiThao

リアルタイムメッセージ

メッセージは送った瞬間に相手の端末に表示され、途中で失われてはいけません。これは別々の仕事で、AiThao はこの順番でこなします。まず保存、それから配信です。

あなたにとっての意味

  • メッセージやリアクションが、相手の端末とあなたのほかの端末にすぐ表示されます。
  • オフラインだった端末も、つながったときに抜けなく追いつきます。

しくみ

各アプリはサーバーと認証済みの WebSocket 接続を 1 本開いています。メッセージを送ると、サーバーはまずデータベースに書き込み、そのあとでイベントを発行します。複数のサーバープロセスが並行して動き、共通のパブリッシュ/サブスクライブのチャネルでイベントを受け渡すので、受信者の接続を持つプロセスが配信します。

受信者がオフラインなら、プッシュ通知が端末を起こし、再接続したアプリがリプレイログから追いつきます。エンドツーエンド暗号化されたチャットでは、この経路を通るのはサーバーが読めない暗号化された封筒です。

使っている技術

WebSocket · Node.js · TypeScript · PostgreSQL · Redis

よくある質問

接続がないときにメッセージを送るとどうなりますか?

接続が戻るとアプリが送信します。サーバーが受け取ったら、誰かに通知する前にまず保存します。

サーバーは暗号化されたメッセージをどれくらい保持しますか?

受信者のすべての端末がコピーを受け取るまで、最長 30 日です。

翻訳を実際に試してみる

アプリの公開前でも、ウェブデモで AiThao を体験できます。AiThao は App Store での公開に向けて Apple の審査を待っているところで、インストール用のリンクはまだありません。

デモを開く