web-dev-qa-db-fra.com

Azure Service Bus vs RabbitMQ pour les applications d'entreprise

Je dois choisir entre Azure Service Bus et RabbitMQ (déployé sur Azure) pour une application de niveau entreprise et mon utilisation principale sera de sujets (avec stockage durable). Je vois que le bus de service a plus de fonctionnalités par rapport à RabbitMQ comme le nombre de tentatives, le TTL, les sessions et les transactions, etc. Mais je ne sais pas lequel est le meilleur pour la haute disponibilité, l'évolutivité, le stockage et le débit. Le bus de service a certaines limites sur la taille du magasin (max 5 Go pour la file d'attente non partitionnée et 80 Go pour la file d'attente partitionnée) et un débit de 2000 msgs/sec/file d'attente. Et si j'ai besoin de plus que ces limites en cas de service bus?

Les limites de RabbitMQ ne sont pas claires car elles dépendent du cluster. Si quelqu'un peut m'aider à décider lequel serait le meilleur dans mon cas?

17
Muhammad Faizan

Cependant votre question a été posée il y a longtemps, je vois encore des gens visiter. J'ai trouvé deux sources utiles:

(1) Voici un article complet (bien qu'ancien) comparant Service Bus à RabbitMQ :

http://geekswithblogs.net/michaelstephenson/archive/2012/08/12/150399.aspx

Un résumé de ce qui précède ():

enter image description here

(2) La lecture de cette réponse peut également aider un peu:

https://dba.stackexchange.com/questions/196770/sql-server-service-broker-vs-rabbitmq

Je pense qu'il a fait une remarque basée sur sa propre expérience ici quand il dit:

  • Le traitement des données après leur retrait de la file d'attente se produit-il dans une base de données ou un processus externe? (a) processus externe -> RMQ. (b) une autre base de données -> SSB. Cependant, en raison de ses particularités, je pourrais plutôt envisager de créer un assemblage SQLCLR pub-sub. Cet assemblage lirait les données de la ou des tables asynchrones et les enverrait à l'autre base de données pour traitement (nous l'avons également fait là où je travaille).

  • Avez-vous besoin des capacités duplex que SSB vous offre? N'oubliez pas que SSB n'est pas tout à fait destiné à être un courtier de messages, mais est conçu pour les conversations duplex, qui sont potentiellement de longue durée. Si vous avez besoin des capacités duplex, SSB est (presque) une donnée.

J'espère que cela t'aides.

2
Babak