Bonjour à tous,
J'aurais une question concernant la mise en cache de données.
Je travaille sur de l'ASP .NET 2.0 avec IIS6.
Le principe est simple :
J'ai un webcontrol qui doit afficher des données (peut importe). Ce dernier est stocké au sein d'un serveur Web Front (situé dans une ferme de serveur). Une méthode du webcontrol fait une demande d'informations à une ferme de serveurs SQLServer 2005.
Pour le caching, un cache manager est implémenté au niveau du Web Front qui reçoit les appels du webcontrol pour vérifier si ça demande peut être résolu par le cache manager. Si c'est le cas, ce dernier renvoie les informations au webcontrol sinon, il faut une demande d'informations à la ferme de serveurs SQL Server 2005 qui lui renvoie des données. Le cache manager les stock et les envoie au webcontrol.
J'ai fais des recherches sur le net concernant ce procédé et je voudrais avoir quelques éclaircissements :
- Quel est le meilleur moyen de gérer le cache?
Faut il directement le gérer à partir de IIS? j'ai cru comprendre que le caching n'était pas évident à gérer dans une ferme de serveurs... et je sais pas si le ASP .NET Session State est adapté.
Ou alors je créé un service qui tourne en local?
Comme cela est géré au niveau du Load Balancing? Parce que dans un environnement avec un serveur il suffit de créer une entrée dans le App.Config mais pour le load balancing je peux pas mettre de serveur de référence? (si ce dernier crash il y aura une exception de levée)
Pour le service cache manager j'en ai deja conçu un.
Si vous avez d'autres idées ou un conseil?
Merki
Edit :
Autre question: Sachant que la structure de donées est une arborescence, le mieux serait de gérer ça avec un dataset, un dictionnary<ParentID, ChildsCollection> (Hashtable) ou un XMLNodeList? Bien sûr pour ce qui est des performances.
Partager