3 votes

Existe-t-il une bonne implémentation open-source de la file d'attente MongoDB pour le pilote C# ?

Non pas qu'il ne serait pas assez facile (ou amusant) d'en écrire un, mais il est logique de ne pas réinventer la roue pour ainsi dire. J'ai jeté un coup d'œil à diverses tentatives, mais il ne me semble pas être encore tombé sur une implémentation répondant à ces critères ;

Système OSS de file d'attente simple avec persistance MongoDB ;

  • Basé sur le pilote C# (officiel) (donc sérialisation POCO complète)
  • Des curseurs disponibles plutôt que des sondages
  • gère le délai d'attente des messages (GC correctement)
  • gère l'échec du consommateur (idéalement en détectant la réinsertion en cas de crash, mais un délai d'attente avec une réinsertion retardée est acceptable) afin que findAndModify soit complet
  • plusieurs auteurs, plusieurs consommateurs
  • sans fil

C'est une bonne chose ;

  • permet d'envoyer un message (le plus récent seulement) (remplace les anciens messages dans le Q)

Si quelqu'un a une bibliothèque simple et agréable comme celle-là, flottant sur GitHub et que je n'ai pas encore trouvée, qu'il en parle !

0voto

nightwatch Points 555

Voici mon petit projet - une implémentation de bus de messages .net qui fonctionne avec des files d'attente MS SQL ou MongoDB (le support de MongoDB est un ajout récent). Lien : http://code.google.com/p/nginn-messagebus/ y http://nginn.org/blog pour quelques exemples. Je ne suis pas sûr que ce soit ce que vous recherchez, il manque aussi de documentation et de départements d'exemples et il ne correspond pas exactement à vos spécifications (polling au lieu de tailing) - mais ça vaut peut-être le coup d'essayer. Il s'agit d'un bus de message publish-subscribe, comme NServiceBus ou MassTransit - pas une file d'attente de messages brute.

PS : J'ai bien peur qu'il y ait des exigences mutuellement exclusives dans vos spécifications : vous ne pouvez pas utiliser un curseur tailable avec des consommateurs concurrents car vous perdez l'atomicité. Si vous voulez faire suivre une file d'attente, vous ne devez utiliser qu'un seul consommateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X