2

私は現在、クライアントが頻繁に (数秒ごとに) 特定のデータに対して読み取り/書き込み要求を送信する Web アプリを開発しています。現時点では、ユーザーが何かを変更するとすぐにサーバーにデータベースに書き込み、何かを表示したいときにデータベースからすぐに読み取るようにしています。これは私にとってはうまく機能していますが、オンラインのユーザーが何千人もいる場合はかなり遅くなると思います.

サーバー側のオブジェクトに書き込み要求を保存してから、一定の時間間隔で一括更新を行う方が効率的でしょうか? これは、同じデータが複数回編集される状況で役立ちます。これは、必要なデータベース挿入が 1 つだけになるためです。また、まだ同期されていないデータをオブジェクトから読み取ることも意味します。これは、データベースの読み取りを回避することで効率が向上することを意味します。同時に、これは 2 つの理由から責任があると思います。 1. サーバーがクラッシュすると、まだ同期されていないすべてのデータが消去されます。2. 一括挿入では、大量のデータベース呼び出しが原因でラグが突然急増する可能性があります。

これにどのようにアプローチすればよいですか?私の現在のアプローチは大丈夫ですか、それとも後で挿入をキューに入れる必要がありますか?

4

1 に答える 1

3

ユーザーがデータに変更を加え、データを保存することを期待するアクションを実行した場合、データが実際に保存されるようにできる限りのことを行う必要があります。例: 書き込みをしばらく遅らせたとします。ユーザーは急いでいて、変更を加えてからブラウザーを閉じます。データを保存することを期待するアクションを実行するときに適切に保存しないと、データが失われます。

Web スタックは通常、水平方向にスケーリングします。本当に必要であるという証拠がない限り、この種の最適化を開始しないでください。

于 2013-02-11T00:59:42.277 に答える