Redis queue vs MSMQ

pendant longtemps nous avons utilisé msmq et redis queue (IRedisList). Il y a deux mois, on a commencé à essayer le redis pub-sub .

notre application dispose de plus de vingt services qui lisent les messages de file d'attente ou s'abonnent à des canaux avec redis . Nous avons également plus de dix Files d'attente que nous leur envoyons des messages. L'application est multi-threadée.

Donc ce que je veux de vous?

Maintenant, nous avons le temps de passer à décider quel genre de files d'attente ci-dessus ne nous souhaitez utiliser et ce que nous voulons remplacer par un autre type de file d'attente.

j'ai essayé de chercher l'article sur MSMQ VS Redis et je n'ai pas trouvé assez d'information.

Quelqu'un peut-il me conseiller à ce sujet?

15
demandé sur FelProNet 2013-10-23 13:24:44

1 réponses

IMO, vous essayez de comparer des pommes et des oranges ici.

MSMQ est un middleware de classe entreprise (c'est-à-dire un système de mise en file d'attente) offrant une permanence, un support transactionnel et un riche ensemble de fonctionnalités.

Redis est un serveur de structure de données en mémoire rapide, sur lequel vous pouvez construire un système de mise en file d'attente. Une mise en œuvre correcte des caractéristiques de base de MSMQ avec Redis est déjà une tâche difficile. Il ne serait probablement pas possible du tout de mettre en œuvre les fonctionnalités avancées (comme le support des transactions de distribution).

je suggère d'essayer de lister les propriétés que vous attendez du système de file d'attente:

  • avez-vous besoin de persistance?
  • avez-vous besoin de soutien de transaction?
  • avez-vous besoin d'un support de transaction distribué?
  • avez-vous besoin d'une fois et une seule fois" livraison sémantique? Plus d'une fois? Au moins une fois?
  • avez-vous besoin de répétitions multiples politiques (linéaire retard, recul exponentiel, etc...)?
  • avez-vous besoin d'exceptions/de files d'attente mortes?
  • avez-vous besoin de conserver les articles?
  • avez-vous besoin d'un support de navigation en file d'attente? Capacités d'administration des files d'attente?
  • avez-vous besoin de la gestion des priorités des articles?
  • avez-vous besoin de l'expiration automatique de l'article?
  • avez-vous besoin d'retardé éléments?
  • avez-vous besoin du séquençage des articles? Dernière valeur les files d'attente?
  • avez-vous besoin de publier et s'abonner? Avec multi-casting?
  • avez-vous besoin de retirer de plusieurs queues en même temps dans un seul thread?
  • avez-vous besoin d'un soutien de haute disponibilité et/ou de regroupement?
  • avez-vous un débit élevé? Vous avez besoin de la meilleure performance?

selon vos besoins, il se peut que le Redis convienne ou non. Mais ne vous attendez pas à recevoir les cloches et les sifflets d'une vraie maman avec Redis.

dernier point: vous avez mentionné le redis pub / sub caractéristique. Veuillez noter que ce mécanisme n'est pas du tout basé sur un système de file d'attente. Il n'y a aucune garantie quant à la livraison des messages avec Redis pub/sub. Si un abonné n'écoute pas, l'article sera perdu pour cet abonné.

29
répondu Didier Spezia 2013-10-23 15:51:06