0

ユーザーが興味のあるものや人を購読し、新しい投稿、ファイル、または画像が送信されたときに通知を受け取ることができる購読システムがあります. 何かが新しいかどうかを判断するために、tstamp でビューを追跡します。問題は、Web サーバーと MySQL データベースが同期していない場合、ユーザーがアイテムを表示するのとほぼ同時に投稿されたコンテンツを見逃す可能性があることです。またはアイテムを 2 回表示します。

データベースから tstamp を取得することでこの問題を解決できますが、tstamp を取得するためだけにデータベースに多数の接続が必要になります。Web サーバーのシステム クロックをデータベース サーバーに定期的に同期できれば (少なくとも可能な限り)、問題を最小限に抑えることができます。これを行うための最良の方法に関するアドバイスはありますか?

NOW() を使用してデータベースに閲覧時間を入力するのは気が進まない。Gearman Process を使用してビューを記録します。これは、ビューに入るのに常にわずかな遅延があることを意味します。ただし、通常、この遅延は最小限であり、通常の同期を行うことができないと仮定すると、システム クロック間の差よりも小さい可能性があります。

4

2 に答える 2

5

NTPを有効にします。

chkconfig ntpd on
service ntpd start

/etc/ntp.conf でタイム サーバーをセットアップするか、*.fedora.pool.ntp.org を使用するデフォルトの構成を使用することができます。

于 2009-06-08T18:31:22.340 に答える
-1

私にとっては、スクリプトを crontab に追加しただけです。構成するサーバーが複数ある場合は、迅速かつ簡単です。

30 6 * * * root /usr/sbin/ntpdate -u ntp.ubuntu.com
于 2009-06-08T19:27:09.530 に答える