Je suis nouveau dans les courtiers de messages comme RabbitMQ que nous pouvons utiliser pour créer des tâches / files d'attente de messages pour un système de planification comme Celery .
Maintenant, voici la question:
Je peux créer une table dans PostgreSQL qui peut être ajoutée à de nouvelles tâches et consommée par le programme consommateur comme Celery.
Pourquoi diable voudrais-je installer une toute nouvelle technologie pour cela comme RabbitMQ?
Maintenant, je crois que la mise à l'échelle ne peut pas être la réponse puisque notre base de données comme PostgreSQL peut fonctionner dans un environnement distribué.
J'ai recherché sur Google quels problèmes la base de données pose pour le problème particulier, et j'ai trouvé:
- l'interrogation maintient la base de données occupée et peu performante
- verrouillage de la table -> encore peu performant
- des millions de lignes de tâches -> encore une fois, le sondage est peu performant
Maintenant, comment RabbitMQ ou tout autre courtier de messages comme celui-ci résout-il ces problèmes?
De plus, j'ai découvert que le AMQP
protocole est ce qu'il suit. Qu'est-ce qui est génial là-dedans?
Redis peut-il également être utilisé comme courtier de messages? Je le trouve plus analogue à Memcached qu'à RabbitMQ.
Veuillez éclairer ce sujet!
celery
" - je viens d'apprendre quelque chose qui sera utile dans ma conception, de la question . Maintenant pour lire les réponses ...