1

リアルタイムチャットができるアプリケーションがあります。チャットは、クライアント側とサーバー側(nodejs)でFayeを使用して実装されます。

現在、このクライアント側のチャットはRailsアプリケーションで使用されており、ページをリロード/更新するときに、次のシナリオで発生する可能性のあるメッセージを失いたくありません。

  • ページをリロードします
  • DBからチャットレコードを取得します
  • チャットの反対側のユーザーが5行を書き込みます
  • ページをレンダリングします
  • 最近の5つのレコードがありません

この問題を解決するためのご意見をお聞かせください。私はメッセージキューのようなものを念頭に置いていました。クライアントに配信されないメッセージはそこで待機し、後でjavascriptを介してページがアップしたときにフェッチされます。

また、メッセージキューがzeromqの使用、または私がすでに使用しているredisでの単純なキューの実装に適していることを誰かが確認した場合(多くのテクノロジは必要ありません)、意見を求めます。

4

1 に答える 1

2

Redisには、キュー機能、Pub / Subシステムなどの優れた選択肢があります。反対側のZeroMQは、分散アプリケーションのIPCレイヤーに似ているため、高レベルの抽象化を実装する必要があります。HTTPとTCPを比較するようなものです。

于 2012-10-02T17:35:22.950 に答える