2010-05-14 16 views
7

Suponiendo que hay una cantidad de servidores web con equilibrio de carga en una granja de servidores web, ¿es seguro usar el tiempo de la aplicación/servidor web en el código de la aplicación para obtener la fecha/hora del sistema o deberíamos dejar esta responsabilidad al servidor de la base de datos? ?En un entorno de granja de servidores web, ¿debemos basar la fecha/hora del sistema en los servidores web o en el servidor de la base de datos?

¿Existe la posibilidad de que la configuración de fecha/hora de la máquina en todos los servidores de la webfarm no esté sincronizada?

Si la fecha/hora será la responsable del DBMS, ¿cómo funcionará esta estrategia si tenemos DB agrupados de carga equilibrada?

+0

¿Por qué no UTC estándar? –

+0

Más bien depende de lo que quiere usar el tiempo. Si solo necesita saber el minuto más cercano, entonces esa es una pregunta diferente a necesitarla al milisegundo. –

+0

Más bien use System.DateTime.UtcNow - esto evitará cualquier problema que pueda encontrar si las máquinas no están todas configuradas en la misma zona horaria. –

Respuesta

3

usted debe tener un servidor de tiempo (- :)

serio, el primer enfoque es asegurarse de que todos los servidores utilizan un protocolo para sincronizar sus relojes. Eso te dejará con una desviación conocida del peor caso. Solo si esa desviación es mayor de lo que puede tolerar (poco probable en una aplicación web) deberá diseñar algo especial. Por lo general, la base de datos estará bien, pero si está agrupada, es posible que deba designar un servidor dedicado como el guardián del tiempo.

Pero tenga en cuenta que su precisión siempre estará limitada por el retraso máximo de la red.

1

Lo mejor es tener el mismo tiempo configurado en todos los servidores para que no tenga que preocuparse por eso, de lo contrario siempre hay confusión sobre si es el momento oportuno.

Si los relojes de los servidores se configuran regularmente desde un servidor horario, deben tener una precisión de al menos 100ms entre sí, lo que probablemente sea suficiente, aunque obviamente depende de lo que intente hacer exactamente.

Cuestiones relacionadas