2009-10-19 5 views
1

J'ai une application de commerce électronique, qui est hébergé sur 2 serveurs géographiquement différentsEst-ce MSMQ le bon choix pour ce scénario

  • Serveur_A - hébergé sur nos locaux, contient le produit de notre ERP (Dynamic Navision) softare base de données &

  • Server_B - hébergé dans le centre de données externe - base de données application web & (pas sur le même serveur - juste pour simplifier au sein de cette question)

Lorsqu'une commande est passée sur le site Web, la commande est enregistrée dans la table des commandes sur le serveur. B Ces commandes doivent être placées dans la table Commandes_Serveur_A.

Actuellement, il existe un script DTS qui exécute et copie toutes les commandes du serveur_B, mais pas le serveur_A En raison du déplacement des serveurs et des bits applicatifs, la gestion est devenue difficile.

Mon idée est d'utiliser MSMQ pour transférer les ordres "messages" entre les deux emplacements.

Est-ce une option viable?

Répondre

1

Qu'en est-il de l'appel WebService juste après avoir stocké la commande "localement"?

+0

Je n'ai pas le luxe d'être en mesure de modifier le code de l'application actuelle essentiellement, toutes les données dans la DB, je allais faire une boucle "foreach" sur les nouvelles commandes, puis les mettre sur un queue. Avoir un service en cours d'exécution sur Server_A qui écoute cette file d'attente, et met les données dans la base de données sur ce serveur .... je suppose que je pourrais utiliser un service web, mais msmq offre une plus grande redondance en cas de problèmes? – Alex

+0

Eh bien, dans ce cas, MSMQ semble mieux. Au fait? Les deux serveurs SQL MSSQL? Si oui, peut-être pourriez-vous utiliser les services de réplication pour répliquer la table des commandes sur votre serveur cible? –

1

Oui, cela semble viable. Lors d'un événement MS, je suis allé il y a quelques années, et le scénario était presque exactement l'étude de cas utilisée par les présentateurs (c.-à-d. Le site majeur avait un processus étroitement couplé qui ne pouvait pas s'écraser pendant la période de la Saint Valentin). - ils ont ensuite changé pour utiliser MSMQ afin que les commandes puissent toujours être prises/mises en file d'attente, puis traitées plus tard, comme les autres machines ont pu le faire)

La seule chose à retenir avec MSMQ est qu'il ne peut pas stocker des messages sur un serveur. certaine taille (~ 4MB si je me souviens bien). Il ne semble pas que cela vous importera, mais j'ai été confronté à un obstacle dans la construction d'un système qui devait prendre de gros rapports avec les bons de commande.

Questions connexes