Webファームに負荷分散されたWebサーバーが多数あるとすると、システムの日付/時刻を取得するためにアプリケーションコードでアプリ/ Webサーバーの時刻を使用しても安全ですか、それともこの責任をデータベースサーバーに任せる必要がありますか?
Webファーム内のすべてのサーバーのマシンの日付/時刻設定が同期していない可能性はありますか?
日付/時刻がDBMSの責任である場合、負荷分散されたクラスター化されたDBがある場合、この戦略はどのように機能しますか?
タイムサーバーが必要です (-:)
真剣に、最初のアプローチは、すべてのサーバーがプロトコルを使用してクロックを同期するようにすることです. これにより、既知の最悪のケースの偏差が残ります。その偏差が許容できるよりも大きい場合にのみ (Web アプリではありそうにありません)、何か特別な設計を行う必要があります。通常、データベースは問題ありませんが、それがクラスター化されている場合は、時間の管理者として専用サーバーを指定する必要がある場合があります。
ただし、精度は常にネットワークの最大ラグによって制限されることに注意してください。
すべてのサーバーに同じ時刻を設定して、心配する必要がないようにするのが最善です。そうしないと、時刻が由来するかどうかについて常に混乱が生じます。
サーバーのクロックがタイムサーバーから定期的に設定されている場合、少なくとも互いに100ミリ秒以内の精度である必要があります。これはおそらく十分ですが、正確に何をしようとしているのかによって異なります.