リアルタイムチャットができるアプリケーションがあります。チャットは、クライアント側とサーバー側(nodejs)でFayeを使用して実装されます。
現在、このクライアント側のチャットはRailsアプリケーションで使用されており、ページをリロード/更新するときに、次のシナリオで発生する可能性のあるメッセージを失いたくありません。
- ページをリロードします
- DBからチャットレコードを取得します
- チャットの反対側のユーザーが5行を書き込みます
- ページをレンダリングします
- 最近の5つのレコードがありません
この問題を解決するためのご意見をお聞かせください。私はメッセージキューのようなものを念頭に置いていました。クライアントに配信されないメッセージはそこで待機し、後でjavascriptを介してページがアップしたときにフェッチされます。
また、メッセージキューがzeromqの使用、または私がすでに使用しているredisでの単純なキューの実装に適していることを誰かが確認した場合(多くのテクノロジは必要ありません)、意見を求めます。