2009-01-30 5 views
2

Je suis à la recherche de WCF/MSMQ.Redondance MSMQ

Est-ce que quelqu'un sait comment on gère la redondance avec MSMQ? Je crois comprendre que la file d'attente se trouve sur le serveur, mais que se passe-t-il si le serveur tombe en panne et n'est pas récupérable, comment empêcher les messages d'être perdus?

Des bons articles sur ce sujet?

Répondre

6

Il existe un bon article sur l'utilisation de MSMQ dans l'entreprise here.

Astuce 8 est celle que vous devriez lire. "Avec l'outil Microsoft Clustering de Windows, les files d'attente basculent d'une machine à l'autre si l'une des machines du serveur de files d'attente cesse de fonctionner normalement. fonctionne, mais dans mon expérience, il est difficile de configurer correctement et les dysfonctionnements souvent.En outre, pour exécuter Microsoft Cluster Server, vous devez également exécuter Windows Server Enterprise Edition - un système d'exploitation coûteux à la licence.Modèles, ces problèmes justifient la recherche d'un remplacement Une alternative à l'utilisation de Microsoft Cluster Server consiste à utiliser une solution d'équilibrage de charge IP tierce, dont plusieurs sont disponibles dans le commerce. ork comme un commutateur réseau standard, et une fois configuré, équilibrer la charge des sessions IP parmi les périphériques configurés. Pour équilibrer la charge de MSMQ, vous devez simplement configurer une adresse IP virtuelle sur le périphérique d'équilibrage de charge et la configurer pour équilibrer la charge du port 1801. Pour vous connecter à une file d'attente MSMQ, les applications spécifient l'adresse IP virtuelle hébergée par l'équilibrage de charge périphérique, qui distribue ensuite la charge efficacement sur les machines configurées hébergeant les applications réceptrices. Non seulement cela augmente la capacité des messages que vous pouvez traiter (en vous laissant simplement ajouter plus de machines à la batterie de serveurs), mais cela vous protège également des événements d'indisponibilité causés par les serveurs défaillants. Pour utiliser un équilibreur de charge matériel, vous devez créer des files d'attente identiques sur chacun des serveurs configurés pour être utilisés dans l'équilibrage de charge, en laissant l'équilibreur de charge connecter l'application émettrice à l'une des machines du groupe. Pour ajouter une couche de robustesse supplémentaire, vous pouvez également configurer toutes les applications réceptrices pour qu'elles surveillent les files d'attente de toutes les autres machines du groupe, ce qui permet d'éviter les problèmes lorsqu'une ou plusieurs machines sont indisponibles. Le coût de cette surveillance sur les machines distantes est élevé (il est presque toujours plus efficace de lire les messages d'une file d'attente locale), mais le coût supplémentaire peut en valoir la peine. "

1

Pour ne pas être méchant, mais vous Si le serveur est irrécupérable, alors vous ne pouvez pas récupérer les messages

Cela dit, vous pouvez sauvegarder régulièrement le dossier des messages Cet article TechNet vous dira comment faire il:

http://technet.microsoft.com/en-us/library/cc773213.aspx

en outre, il ne sauvegardera pas messag express es, c'est quelque chose dont vous devez être conscient.

Si vous préférez, vous pouvez stocker les messages réels à traiter dans une base de données à la réception et faire en sorte que le service soit le consommateur dans un modèle producteur/consommateur.