Extension du cache de données ASP.NET pour le partage sur une batterie de serveurs Web
-
10-07-2019 - |
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?
La solution
Avez-vous examiné Windows Server AppFabric (anciennement Velocity).
Autres conseils
Vous pouvez utiliser les options suivantes -
-
Utilisez l'approche décrite ici pour synchroniser les données entre les batteries de serveurs Web - http://www.eggheadcafe.com/articles/20030420.asp
-
Utiliser l'approche de la mise en cache distribuée
-
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.