Quina diferència hi ha entre la cua de missatges i la cua de tasques? Per què una cua de tasques requeriria que funcionés un agent de missatges com RabbitMQ, Redis, Celery o IronMQ?


Resposta 1:

divulgació en què treballo

Iron.io | Proveïdor de serveis d'aplicació al núvol

les opinions són meves.

Cua de missatges

Cua de tasques

Redis

, la cua de missatges és oberta,

RabbitMQ

, cua de missatges que s’allotja de manera autònoma amb origen obert,

Amazon SQS

, cua de missatges allotjats

IronMQ

, una cua de missatges allotjada

Api

, cua de tasques que s’allotja de manera autònoma amb origen obert,

benestar

, la cua de tasques és de procedència oberta,

IronWorker

, cua de tasques allotjada I el processament -

Retardat_mà

, la cua de tasques és de procedència oberta,


Resposta 2:
Serà convenient dir que "Celery és un QueueWrapper / QueueFramework que elimina la complexitat d'haver de gestionar les cues internes Activitats de gestió / cuaAdministració, etc"? Entenc el llenguatge del llibre que diu "l'api és una cua de tasques" i "RabbitMQ és un agent de missatges". Tot i això, sembla una mica confús com a usuari d'api per primera vegada perquè sempre hem sabut que RabbitMQ era la "cua". Ajudeu-vos a explicar com / què fa l'api en contrast amb RabbitMQ

Abu Ashraf Masnun

https: //www.facebook.com/groups / ...

Cua de tasques i cua de missatges. RabbitMQ és un "MQ". Rep missatges i envia missatges. L’api és una cua de tasques. Rep tasques amb les seves dades relacionades, les executa i proporciona els resultats. Oblidem un moment l’api. Parlem de RabbitMQ. Què faríem normalment? La nostra aplicació Django / Flask enviaria un missatge a la cua. Tindrem alguns treballadors en funcionament que esperaran nous missatges en determinades cues. Quan arriba un missatge nou, comença a funcionar i processa les tasques. L’api gestiona de forma bonica tot aquest procés. Ja no necessitem aprendre ni preocupar-nos pels detalls d’AMQP o RabbitMQ. Podem utilitzar Redis o fins i tot una base de dades (per exemple, MySQL) com a agent de missatges. L’api ens permet definir “Tasques” amb els nostres codis de treballadors. Quan necessitem fer alguna cosa en segon pla (o fins i tot en primer pla), només podem trucar a aquesta tasca (per a l’execució instantània) o programar aquesta tasca per processar amb retard. L’api gestionaria el missatge que passava i executaria les tasques. Posarà en marxa treballadors que sabrien executar les tasques definides i emmagatzemar els resultats. Per tant, podeu consultar més endavant el resultat de la tasca o fins i tot el progrés de la tasca. També podeu utilitzar l'api com a alternativa per al treball cron (tot i que a mi no m'agrada molt).

Juan Francisco Calderon Zumba

https: //www.facebook.com/groups / ...

Entenc que l’api és només un nivell d’abstracció molt alt per implementar el productor / consumidor d’esdeveniments. Es necessiten diverses coses doloroses que cal fer per treballar, per exemple, amb el conill. L’api en sí no és la cua. Les cues d'esdeveniments s'emmagatzemen al sistema que trieu, l'api us ajuda a treballar amb aquests esdeveniments sense haver d'escriure el productor / consumidor des de zero.
L'api és un sistema d'embolcall de cua que elimina la complexitat d'haver de gestionar els mecanismes / arquitectura AMQP subjacents que compten amb el funcionament de RabbitMQ directament

Resposta 3:
Serà convenient dir que "Celery és un QueueWrapper / QueueFramework que elimina la complexitat d'haver de gestionar les cues internes Activitats de gestió / cuaAdministració, etc"? Entenc el llenguatge del llibre que diu "l'api és una cua de tasques" i "RabbitMQ és un agent de missatges". Tot i això, sembla una mica confús com a usuari d'api per primera vegada perquè sempre hem sabut que RabbitMQ era la "cua". Ajudeu-vos a explicar com / què fa l'api en contrast amb RabbitMQ

Abu Ashraf Masnun

https: //www.facebook.com/groups / ...

Cua de tasques i cua de missatges. RabbitMQ és un "MQ". Rep missatges i envia missatges. L’api és una cua de tasques. Rep tasques amb les seves dades relacionades, les executa i proporciona els resultats. Oblidem un moment l’api. Parlem de RabbitMQ. Què faríem normalment? La nostra aplicació Django / Flask enviaria un missatge a la cua. Tindrem alguns treballadors en funcionament que esperaran nous missatges en determinades cues. Quan arriba un missatge nou, comença a funcionar i processa les tasques. L’api gestiona de forma bonica tot aquest procés. Ja no necessitem aprendre ni preocupar-nos pels detalls d’AMQP o RabbitMQ. Podem utilitzar Redis o fins i tot una base de dades (per exemple, MySQL) com a agent de missatges. L’api ens permet definir “Tasques” amb els nostres codis de treballadors. Quan necessitem fer alguna cosa en segon pla (o fins i tot en primer pla), només podem trucar a aquesta tasca (per a l’execució instantània) o programar aquesta tasca per processar amb retard. L’api gestionaria el missatge que passava i executaria les tasques. Posarà en marxa treballadors que sabrien executar les tasques definides i emmagatzemar els resultats. Per tant, podeu consultar més endavant el resultat de la tasca o fins i tot el progrés de la tasca. També podeu utilitzar l'api com a alternativa per al treball cron (tot i que a mi no m'agrada molt).

Juan Francisco Calderon Zumba

https: //www.facebook.com/groups / ...

Entenc que l’api és només un nivell d’abstracció molt alt per implementar el productor / consumidor d’esdeveniments. Es necessiten diverses coses doloroses que cal fer per treballar, per exemple, amb el conill. L’api en sí no és la cua. Les cues d'esdeveniments s'emmagatzemen al sistema que trieu, l'api us ajuda a treballar amb aquests esdeveniments sense haver d'escriure el productor / consumidor des de zero.
L'api és un sistema d'embolcall de cua que elimina la complexitat d'haver de gestionar els mecanismes / arquitectura AMQP subjacents que compten amb el funcionament de RabbitMQ directament