2009-06-21 5 views
21

¿Alguien tiene información sobre cómo se gestiona el estado en Azure cuando elige tener varias instancias? Parece que InProc sería inútil y tendría que tener otra instancia de servidor de estado, o usar el almacén de datos para almacenar el estado de los usuarios en los servidores.¿Cómo maneja Microsoft Azure el estado de la sesión?

O implementa sesiones adhesivas, por lo que InProc es todo lo que necesita.

encontrado la respuesta aquí: Azure Forums

+0

Este enlace está muerto, ¿alguien sabe si esta información está en otra parte? – andynormancx

+0

Consulte mi respuesta a continuación, con enlaces a las Preguntas frecuentes sobre caché, así como un enlace a los detalles sobre los nuevos proveedores universales de ASP.NET (el nuevo proveedor de estado de sesión admite SQL Azure de forma nativa). –

Respuesta

18

Tabla de almacenamiento sería el lugar más lógico. Otras configuraciones de tipo granja de servidores también usan una tabla de base de datos para almacenar información de sesión.

Eche un vistazo al proyecto AspProviders en los ejemplos de Windows Azure SDK. Tiene un proveedor de SessionState que usa Azure Table Storage.

+0

Dado que paga por transacción con el almacenamiento de Table, me pregunto si SQL Azure sería mejor desde un punto de vista económico ya que solo está pagando por el ancho de banda (además del propio db). –

+6

Estoy bastante seguro de que el almacenamiento de mesa es la opción más económica. 1 GB SQL Azure cuesta $ 9.99 por mes. Puede almacenar 1 GB en Table Storage por 15 centavos. Las transacciones son de 10.000 por un centavo, por lo que con los $ 9.84 restantes, podría obtener 9.84 millones de transacciones. Entonces, si tiene más de 10 millones de transacciones por mes, entonces SQL Azure sería más económico.Las tarifas de transferencia de datos solo se pagan por datos entrantes o salientes de Azure, por lo que los datos de la sesión no deben estar sujetos a esos costos. – CoderDennis

+0

Pero, ¿cómo se elimina la información de sesión anterior de la tabla y el almacenamiento de blob? – joe

2

No requiere afinidad de sesión y por lo tanto el uso de proveedores de estado de sesión que se basan en Azure storage o SQL Azure storage es la mejor opción.

Para algunas aplicaciones heredadas, es posible que aún necesite la afinidad de la sesión. Para esos casos, ARR entre Azure load balancer y Web farm es una opción.

Más detalles en http://go.archims.fr/hW54Xz

13

AppFabric Cache simplemente entraron en la producción, y esta es una excelente manera de gestionar los datos de sesión. De hecho, tiene un proveedor de estado de sesión personalizado que simplemente se coloca en web.config. Lo encontrará en el portal de Azure.

Toda la información sobre los tamaños de caché, precios y SLA es here.

Editar: Las plantillas de rol de Windows Azure Web ahora incluyen los nuevos proveedores universales de ASP.NET, incluido un proveedor de estado de sesión que admite SQL Azure. Eche un vistazo a blog post de Nate Totten para más detalles.

EDIT 7/8/2012 Windows Azure ahora proporciona tanto un Cache Role como un caché en memoria (ambos fácilmente configurables con las últimas herramientas y v1.7 SDK). El caché en memoria distribuye el caché a través de una de sus instancias de roles existentes, utilizando un porcentaje de RAM establecido (buena opción "gratuita" si no necesita mucha RAM en su aplicación).

Cuestiones relacionadas