Question

Scénario:

Le site Web est hébergé sur trois serveurs utilisant IIS sur chacun d'entre eux.

Les trois serveurs sont mis en cluster à l'aide du logiciel d'équilibrage de la charge réseau fourni avec Windows Server 2003.

Les trois sites sont configurés pour stocker l'état de la session sur un serveur distinct désigné comme " state server "..

.

On m'a demandé de mettre à l'échelle le " serveur d'état " ;. Existe-t-il un moyen de disposer de plusieurs serveurs d'état et de synchroniser les états entre eux? Ainsi, si l'un des serveurs d'état tombe en panne, les autres pourront servir les informations d'état.

Était-ce utile?

La solution

J'irais pour memcached. Vous pouvez le configurer sur chacun des serveurs Web, puis l’adapter à chaque nouveau serveur Web que vous ajoutez. J'ai déjà trouvé quelques clients sur codeplex.

Autres conseils

Nous utilisons Scale Out State Server pour les applications dans lesquelles je travaille. fait le travail à merveille et est simple à installer. Je crois comprendre que Microsoft travaille également sur un produit similaire appelé Velocity , mais je n'ai aucune expérience en la matière. il.

Le seul inconvénient de SOSS est que vous devez payer pour cela - mais je n'ai eu que de grandes expériences en interaction avec leur équipe de vente et de support. Si vous finissez par obtenir une licence, faites-moi une faveur et dites-leur que Daniel de Gratis vous a envoyé;)

Vous recherchez une technologie de mise en cache distribuée. Microsoft Velocity en est un exemple qui contient des exemples publiés par Microsoft pour remplacer l'état de session ASP.NET par défaut par Velocity, selon lequel il peut être distribué. Il existe d'autres fournisseurs de mise en cache, tels que Memcache.

Modifier: Mise à jour de cette réponse pour des informations plus pertinentes par rapport à l'heure actuelle, ce type de fonctionnalité est intégré à Windows Azure avec le produit AppFabric. Vous trouverez quelques informations brèves à ce sujet ici: Lancement virtuel Windows Server et Azure AppFabric le 20 mai

La base de données de session sur un serveur SQL peut facilement être mise à l'échelle avec peu de code & amp; changements de configuration. Vous pouvez coller des sessions asp.net dans une base de données de session. Quel que soit le serveur Web de votre batterie de serveurs qui traite la demande, le mappage de votre serveur SQL basé sur l'identifiant de session fonctionne sans faille. C'est probablement l'un des meilleurs moyens de faire évoluer l'état de session ASP.NET à l'aide de SQL Server. Pour plus d'informations, lisez le lien

Modèle True Scaleout pour l'état de la session

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top