65 votes

Rabbitmq ou Gearman - choix d'une file d'attente de travaux

Au travail, nous avons besoin de construire un emploi de serveur pour des choses comme l'envoi de courriels, la construction des fichiers Pdf, analyser les données, etc. Évidemment, nous aimerions construire une sorte de générique file system. Je suis familier avec Gearman, et que c'est exactement le problème qu'il tente de résoudre: priorité à l'emploi sur une file d'attente où les ouvriers viennent pour les ramasser. Cependant, je vois beaucoup de mentions de Rabbitmq et ne sais pas comment il est utilisé dans ce scénario.

Est Rabbitmq un bon framework pour construire une distribué des emplois du système sur le dessus?

69voto

Mark Atwood Points 6

Je dirais que Gearman est mieux pour la file d'attente "emplois" et RabbitMQ est mieux pour la file d'attente "données". Bien sûr, ils sont tous les deux vraiment la même chose, mais la façon dont il fonctionne pour moi est que si vous essayez de "fan" de travail à faire, et les travailleurs peuvent travailler de manière indépendante, Gearman est la meilleure façon de le faire. Mais si vous essayez de flux de données à partir d'un grand nombre de sources en bas en moins de consommateurs de données, RabbitMQ est la meilleure solution.

L'histoire de RabbitMQ, comme quelque chose qui a permis à Twitter de prendre éclatée des charges de messages, et de les introduire dans croûté vieux passerelles SMS qui pourrait en garder qu'une connexion ouverte, ont été limitée par la vitesse, et n'ont pas de tentatives, est une illustration du genre de problèmes que RabbitMQ est bonne à résoudre.

30voto

alexis Points 211

Tout dépend de ce que sémantique que vous souhaitez exposer. Il est vraiment facile de faire ce Gearman n'sur le dessus de RabbitMQ, ce qui peut certainement 'fan' des messages aux travailleurs indépendants.

Mais Gearman est construit pour but. IIUC, Gearman est un cadre pour les travaux de traitement et non pas un système de messagerie en tant que tel. Il y a d'autres cadres tels que le Céleri que l'utilisation de RabbitMQ sous le capot. Voici un article à propos de Céleri qui vaut la peine de lire.

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: