7

Webファームに負荷分散されたWebサーバーが多数あるとすると、システムの日付/時刻を取得するためにアプリケーションコードでアプリ/ Webサーバーの時刻を使用しても安全ですか、それともこの責任をデータベースサーバーに任せる必要がありますか?

Webファーム内のすべてのサーバーのマシンの日付/時刻設定が同期していない可能性はありますか?

日付/時刻がDBMSの責任である場合、負荷分散されたクラスター化されたDBがある場合、この戦略はどのように機能しますか?

4

2 に答える 2

3

タイムサーバーが必要です (-:)

真剣に、最初のアプローチは、すべてのサーバーがプロトコルを使用してクロックを同期するようにすることです. これにより、既知の最悪のケースの偏差が残ります。その偏差が許容できるよりも大きい場合にのみ (Web アプリではありそうにありません)、何か特別な設計を行う必要があります。通常、データベースは問題ありませんが、それがクラスター化されている場合は、時間の管理者として専用サーバーを指定する必要がある場合があります。

ただし、精度は常にネットワークの最大ラグによって制限されることに注意してください。

于 2010-05-14T08:34:05.913 に答える
1

すべてのサーバーに同じ時刻を設定して、心配する必要がないようにするのが最善です。そうしないと、時刻が由来するかどうかについて常に混乱が生じます。

サーバーのクロックがタイムサーバーから定期的に設定されている場合、少なくとも互いに100ミリ秒以内の精度である必要があります。これはおそらく十分ですが、正確に何をしようとしているのかによって異なります.

于 2010-05-14T08:29:39.900 に答える