Azure Service Bus vs RabbitMQ pour les applications d'Entreprise
Je dois décider entre Azure Service Bus et RabbitMQ (Déployé sur Azure) pour une application niveau de l'entreprise et de mon utilisation principale sera de sujets (avec stockage durable).
Je vois que le service de bus a plus de fonctionnalités par rapport à RabbitMQ comme des Tentatives Comte, TTL, séances & transactions etc. Mais je ne suis pas sûr que l'on est meilleur pour la Haute disponibilité, l'évolutivité, le stockage et le débit.
Service de bus a certaines limites à la taille du magasin (max 5 GO pour les non-partitionné de la file d'attente et de 80 GO pour partitionné de la file d'attente) et le débit de 2000 mgs/sec/file d'attente. Que faire si j'ai besoin de plus de ces limites dans le cas d'un service de bus?
Les limites de RabbitMQ est pas clair, puisqu'il dépend du cluster. Si quelqu'un peut m'aider à décider lequel serait le meilleur dans mon cas?
- J'ai trouvé un blog parlant au sujet de la comparaison entre le coût d'Azure Service Bus et RabbitMQ sur Azure Vm, vous pouvez la consulter ici.
- Je l'ai vu @Bruce-MSFT . Le coût n'est pas un facteur. Je suis confus au sujet de la performance et l'évolutivité de service de bus.
- Pourquoi ne pas vous considérer Amazon SQS lequel vous pouvez évoluer? Vous pouvez vous connecter SQS pour SNS et l'utiliser comme un thème pour votre cas.
- J'ai été longtemps MRQ utilisateur. J'ai juste commencé à utiliser de l'AMB et je ne suis pas trop impressionné par la performance. Mais en toute honnêteté, je n'ai pas donné AMB assez de temps pour comparer. J'ai trouvé cet article sur AMB performance. docs.microsoft.com/en-us/azure/service-bus-messaging/...
- Si vos autres infrastructures dépend fortement de l'Azur , je tiens à recommander SB Azure. Si vous êtes de rabotage( toute probabilité) de sortir d'Azur, vous pouvez utiliser RabbitMQ.
Vous devez vous connecter pour publier un commentaire.
Toutefois, votre question a été posée il y a longtemps, je vois des gens qui visitent encore aujourd'hui. J'ai trouvé deux sources utiles:
(1) Ici est un ensemble complet (même ancienne) article comparant Service de Bus à RabbitMQ:
http://geekswithblogs.net/michaelstephenson/archive/2012/08/12/150399.aspx
Un résumé de l'mentionnés ci-dessus ():
(2) en Regardant cette réponse peut également aider un peu:
https://dba.stackexchange.com/questions/196770/sql-server-service-broker-vs-rabbitmq
Je pense qu'il fait un point basé sur sa propre expérience ici, quand il dit:
Le traitement des données après une dé-mis en file d'attente se produire dans un
la base de données ou un processus externe?
(a) de processus externe -> MRQ.
(b) une autre base de données -> SSB. Toutefois, en raison de ses particularités, je pourrais
regardez la création d'un pub-sub SQLCLR de l'assemblée à la place. Cette assemblée
lit les données de la table(s) asynchrone, et de l'envoyer à l'autre
base de données pour le traitement (nous avons fait cela en tant que bien, là où je travaille).
Avez-vous besoin de le duplex capacités de SSB vous donne? N'oubliez pas de SSB
n'est pas destiné à être un courtier de message mais est intégré pour une numérisation recto verso
conversations, qui potentiellement sont de longue durée.
Si vous avez besoin du recto verso, puis SSB est (presque) une donnée.
Espère que cette aide.
Service Bus for Windows Server
qui n'est pas le même produit queAzure Service Bus
.Service Bus for Windows Server
est non pris en charge plus.