Question

J'ai une application ASP.NET qui utilise beaucoup l'API de cache ASP.NET pour la mise en cache des données couramment utilisées. De plus, j'utilise une dépendance de cache SQL basée sur des interrogations pour suivre l'expiration.

L'inconvénient de la conception actuelle est que, dans l'environnement de la batterie de serveurs Web, chaque serveur Web possède son propre cache de données, qui n'est pas partagé entre les serveurs.

Existe-t-il un moyen de migrer simplement le code pour partager le cache de données sur plusieurs serveurs?

J'ai pensé à utiliser memcached mais cela ne fonctionnerait pas avec la dépendance au cache SQL, n'est-ce pas?

D'autres solutions?

Était-ce utile?

La solution

Avez-vous examiné Windows Server AppFabric (anciennement Velocity).

http://blogs.msdn.com/velocity/

Autres conseils

Vous pouvez utiliser les options suivantes -

  1. Utilisez l'approche décrite ici pour synchroniser les données entre les batteries de serveurs Web - http://www.eggheadcafe.com/articles/20030420.asp

  2. Utiliser l'approche de la mise en cache distribuée

  3. Utilisez le cache de la bibliothèque d'entreprise.

Il me semble que Windows Server AppFabric correspond exactement à ce que vous sont en train de chercher. (AKA "Velocity"). De la documentation d'introduction :

  

Windows Server AppFabric fournit une   application distribuée en mémoire   plate-forme de cache pour le développement   évolutif, disponible et   applications hautes performances.   AppFabric fusionne la mémoire sur plusieurs   ordinateurs pour donner un seul unifié   cache cache aux applications.   Les applications peuvent stocker n'importe quel   objet CLR sérialisable sans   se soucier de l'endroit où l'objet obtient   stockée. L’évolutivité peut être obtenue par   ajouter simplement plus d'ordinateurs sur   demande. Le cache permet également de   des copies des données à stocker sur le   cluster, protégeant ainsi les données contre   les échecs. Il fonctionne comme un service   accessible via le réseau. Dans   En outre, Windows Server AppFabric   fournit une intégration transparente avec   ASP.NET qui active la session ASP.NET   objets à stocker dans le   cache distribué sans avoir à   écrire dans des bases de données. Cela augmente   à la fois la performance et l'évolutivité   des applications ASP.NET.

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