Je pense que le titre résume tout cela ... Nous avons un système .NET 2.0 essayant de mettre en place un pub / sous-modèle distribué. Je suis tombé sur Nservicebus, Rhinobus et Masstransit. Malheureusement, ils sont basés MSMQ. Je suis chargé de comprendre le pub / sous-solutions qui utilise différentes alternatives de messagerie ... p>
La seule raison de rechercher des alternatives MSMQ est de surmonter la restriction de la taille du message. Étant donné que nos messages d'application d'entreprise peuvent potentiellement être tronqués en raison de la restriction de messages ... p>
Toutes les directives sont très appréciées p>
7 Réponses :
Il y a un Feuille de route pour NSERVICEBUS qui indique qu'ils ont l'intention d'offrir un transport plus plugable à Autoriser les alternatives à MSMQ. P>
Masstransit suggère également qu'ils visent à soutenir des alternatives. p>
Maladyatley Aucun de ceux-ci n'y est encore là. P>
J'utilise quelques tables de base de données pour cela. P>
Bien sûr. J'utilise des tables de base de données comme des files d'attente persistantes pour éviter d'utiliser MSMQ. Cela fonctionne très bien même avec plusieurs lecteurs et écrivains. Les transactions de base de données fournissent un contrôle de la concurrence. Ils fournissent également une persistance en cas d'accidents du système.
Je devrais être d'accord. Nous avons éliminé une mise en œuvre de BizTalk à partir d'un détaillant majeur et avons remplacé avec je pense que trois tables SQL Server. Plus simple et moins chère. De toute évidence, ils n'utilisaient pas Biztalk pour toutes les fonctionnalités.
Si vous avez le budget pour cela, vous pouvez toujours utiliser BizTalk. P>
Si vous voulez faire quelque chose de plus intéressant, vous pouvez utiliser Microsoft Azure Service Bus http: // www.microsoft.com/azure/servicebus.mspx p>
Vous pouvez utiliser le courtier de service SQL http: // msdn.microsoft.com/en-us/library/ms345108(SQL.90).aspx . Pas sûr s'il y avait un plan pour interrompre cette finance. P>
Ou vous voulez que la chose la plus simple qui fonctionne, utilisez une table SQL :) p>
Vos suggestions semblent radicales; NSERVICEBUS est annoncé comme une plate-forme pour synchroniser et / ou charger le cache InProProC entre serveurs. Découvrez les blogs de UDI Dahan. Azure et Biztalk sont des plates-formes de messagerie inter-système; AKA EDI et le premier fait un aller-retour à Microsoft ... :) MSMQ n'est pas une solution d'entreprise évolutive et fiable. C'est génial pour les petits mouvements de paquets mais pas les données d'échelle d'entreprise. Les défis varient de la fragmentation du disque primaire qui affecte le système d'exploitation, les serrures du système d'exploitation à la troncature des messages. SQLCE est une option mais a montré un goulot d'étranglement de la performance pour les activités INPROCO.
Oui, je suis d'accord que c'était un peu radical, voulait juste vous donner une idée de la portée complète des options. Si vous regardez SQLCE, travaillez-vous sur des appareils Mobil? Si oui, jetez un coup d'œil à Microsoft Sync Framework MSDN.MicRosoft.com/en-us /ysync/default.aspx
@ G33KKAHUNA: "MSMQ n'est pas une solution d'entreprise évolutive et fiable" - pourquoi pensez-vous cela? Pouvez-vous me signaler dans la bonne direction à quelque chose qui indique quelles sont ses limites? J'évalue actuellement si MSMQ convient ou non à un projet et qu'il serait bon d'en savoir plus à ce sujet.
G33KKAHUNA - NSERVICEBUS n'est pas seulement à ce sujet. Voir le site NserviceBus.com. Je ne serais pas d'accord que MSMQ ne peut pas être fait à l'échelle, comme je l'ai fait, et c'est très fiable (en fonction de la fiabilité de l'IO que vous avez mise sous telle).
Pourriez-vous s'il vous plaît répondre à Stackoverflow.com/Questions/ 9483286 / ... ?
Si vous allez bien avec une approche de type "courtier", je suis actuellement en train de regarder http: //wso2.com/products/enterprise-service-bus/ ?? p>
Heh, la vieille question, mais il convient de mentionner que Nservicebus soutient désormais Activeemq (comme une seule alternative) avec d'autres personnes en développement. Il a également été question de mettre en œuvre un "bus de données" pour surmonter la limitation de la taille du message, mais je ne connais pas le statut de ceci. P>
L'infrastructure est en place pour brancher différents transports et je me souviens de voir des discussions sur l'utilisation d'un courtier de service SQL Server, bien que je ne sais pas si cela a déjà été pris au-delà des discussions initiales. P>
Je travaille actuellement sur un bus de service basé sur WCF open source. Vous pouvez le trouver ici: http://roclebus.codeplex.com/ . Il prend en charge les abonnements dynamiques (@ run-time), le référentiel de souscription (base de données), les transports en peluche, le routage basé sur le contenu basé sur XPath, la livraison transactionnelle sur les protocoles de la WCF, la livraison de la transbordonnée, l'évaluation de l'abonnement pneus, etc. Jetez un coup d'œil! P>
Faire attention à répondre avec des réponses identiques; Dans ces deux cas spécifiques, il semble juste du côté sûr de la ligne, mais ne pas aller à la mer. Les réponses doivent aborder les questions individuelles. Merci!
Une ancienne question mais la peine de provider une réponse à jour. Pour les applications de niveau d'entreprise en développement, Windows Azure Service Bus est vraiment de loin depuis sa création et il vaut la peine d'examiner de près pour tous ceux qui souhaitent mettre en œuvre un pub / sous-modèle. Voici quelques points forts du bus de service Windows Azure ... P>
comprend un Windows Azure Tools SDK pour .NET qui fait Développement très facile dans n'importe quelle langue .NET. P> LI>
Il y a un
prend en charge le comportement transactionnel (livraison de messages garanatifs) p> li>
meilleur de tous, Microsoft voit un avenir dans le cloud computing, de sorte que cela ne fera que mieux. P> li>
Le plus gros inconvénient de cette technologie est que Windows Azure est conçu pour les environnements d'entreprise à grande échelle et est donc très coûteux. P> LI>
ul>
Voici un bon site Web qui fournit beaucoup plus de détails sur les dernières capacités de Bus de service Windows Azure P>
BTW: Je ne suis pas affilié à Micrsoft de quelque manière que ce soit. Je viens de venir d'un fond d'utilisation de Nservicebus et je l'ai trouvé très facile à transition vers le bus Windows Azure Service, car les modèles sont similaires. P>
Masstransit prend en charge la Rabbitmq et Azureservicebus.