5

チャット機能を備えた iOS 用のアプリケーションがあります。現在、ロングポールで動作します。そして今、ソケットで動作するように変更しようとしています。ソケットに関しては、調査を開始しましたが、最良のオプションの 1 つは、socket.io で nodejs を使用することです。次に、redis pub/sub を使用してメッセージの配信と保存を管理しました。

redis についていくつか調査した結果、推奨される使用方法は、保存されたデータがメモリに収まる必要があることを示唆しています。しかし、少し大きなデータベースがあります。チャット履歴全体を保存したいと思います。そのため、redis をキャッシュ データベースとして使用する計画を立て始めました。これは、オンライン ユーザーのチャット履歴 (すべてではない可能性があります) を保存し、redis からオフラインになった後に実際の会話を mongodb/simpledb (または即座に両方) に書き込みます。 )。

要約すると、nodejs と redis pub/sub を使用してメッセージを配信し、redis をキャッシュ データベースとして使用し、mongodb を使用して会話全体を保存することを決定しようとしています。

デザインについてどう思いますか?これは受け入れられますか?または、より良い方法を提案できる場合は、もう少し説明していただけますか?

前もって感謝します。

4

1 に答える 1

3

チャット システムについては、大きく考えています。100 万人のユーザーにリーチできると考えている場合は、それを実行してください。可用性も考慮してください。システムはマシンの障害にどのように対処しますか?

于 2012-04-06T13:05:15.520 に答える