Koja je razlika između reda poruka i reda zadataka? Zašto bi red čekanja zahtijevao posrednik poruka poput RabbitMQ, Redis, Celery ili IronMQ?


Odgovor 1:

otkrivanje na kojem radim

Željezo.io | Davatelj usluga Cloud usluga

mišljenja su moja.

Red čekanja

Redovi zadataka

Redis

, red poruka otvoren izvorno,

RabbitMQ

, red čekanja poruka s vlastitim domaćinima otvoren je izvor,

Amazon SQS

, red hostovanih poruka

IronMQ

, red čekanja poruka s hostom

Celer

, red čekanja sa vlastitim domaćinima otvoren je izvor,

blagostanje

, red zadataka otvoren izvor,

Ironworker

, red čekanja zadataka i obrada -

Delayed_job

, red zadataka otvoren izvor,


Odgovor 2:
Hoće li biti prikladno reći da je "Celery" QueueWrapper / QueueFramework koji oduzima složenost upravljanja internim redom upravljanja / queueAdministration aktivnosti itd. "? Razumijem jezik knjige koji kaže "Celer je red zadataka" i "RabbitMQ je posrednik za poruke". Međutim, čini se da je malo zbunjujuće kao korisnik prvog celera jer smo oduvijek znali da je RabbitMQ "red". Molim vas pomozite u objašnjenju kako / što celer radi u ograničenju sa kunićemMQ

Ebu Ešraf Masnun

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

Red poslova i Red poruka. RabbitMQ je "MQ". On prima poruke i isporučuje poruke. Celer je red zadataka. Dobija zadatke s njihovim povezanim podacima, izvršava ih i daje rezultate. Zaboravimo na trenutak Celery. Razgovarajmo o RabbitMQ-u. Što bismo obično radili? Naša aplikacija Django / Flask poslala bi poruku u red. Radit ćemo neke radnike koji će u određenim redovima čekati nove poruke. Kada stigne nova poruka, započinje s radom i obrađuje zadatke. Celer cijeli proces upravlja lijepo. Više ne trebamo učiti ili brinuti o pojedinostima AMQP-a ili RabbitMQ-a. Kao posrednik za poruke možemo koristiti Redis ili čak bazu podataka (na primjer MySQL). Celer nam omogućava definiranje "Zadataka" s našim radničkim kodovima. Kad trebamo napraviti nešto u pozadini (ili čak prednjem planu), možemo jednostavno nazvati ovaj zadatak (za trenutno izvršenje) ili zakazati taj zadatak za odgodu obrade. Celer će nositi poruke koje prolaze i izvršavaju zadatke. To bi pokrenulo radnike koji bi znali izvršavati definirane zadatke i pohranjivati ​​rezultate. Tako kasnije možete zatražiti rezultat zadatka ili čak napredovanje zadatka kad je potrebno. Možete koristiti i Celery kao alternativu za posao u cron (iako mi se to zapravo ne sviđa)!

Juan Francisco Calderon Zumba

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

Moje je razumijevanje da je celer samo vrlo visok stupanj apstrakcije za implementaciju proizvođača / potrošača događaja. Potrebno je nekoliko bolnih stvari koje trebate učiniti da biste radili, na primjer, s kunićem. Celer sam po sebi nije na redu. Redovi događaja pohranjuju se u sustav po vašem izboru, celer vam pomaže da radite s takvim događajima bez potrebe da ispisujete proizvođača / potrošača od nule.
Celer je Wrapper / Framework koji oduzima složenost upravljanja osnovnim AMQP mehanizmima / arhitekturom koji dolaze s operativnim RabbitMQ izravno

Odgovor 3:
Hoće li biti prikladno reći da je "Celery" QueueWrapper / QueueFramework koji oduzima složenost upravljanja internim redom upravljanja / queueAdministration aktivnosti itd. "? Razumijem jezik knjige koji kaže "Celer je red zadataka" i "RabbitMQ je posrednik za poruke". Međutim, čini se da je malo zbunjujuće kao korisnik prvog celera jer smo oduvijek znali da je RabbitMQ "red". Molim vas pomozite u objašnjenju kako / što celer radi u ograničenju sa kunićemMQ

Ebu Ešraf Masnun

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

Red poslova i Red poruka. RabbitMQ je "MQ". On prima poruke i isporučuje poruke. Celer je red zadataka. Dobija zadatke s njihovim povezanim podacima, izvršava ih i daje rezultate. Zaboravimo na trenutak Celery. Razgovarajmo o RabbitMQ-u. Što bismo obično radili? Naša aplikacija Django / Flask poslala bi poruku u red. Radit ćemo neke radnike koji će u određenim redovima čekati nove poruke. Kada stigne nova poruka, započinje s radom i obrađuje zadatke. Celer cijeli proces upravlja lijepo. Više ne trebamo učiti ili brinuti o pojedinostima AMQP-a ili RabbitMQ-a. Kao posrednik za poruke možemo koristiti Redis ili čak bazu podataka (na primjer MySQL). Celer nam omogućava definiranje "Zadataka" s našim radničkim kodovima. Kad trebamo napraviti nešto u pozadini (ili čak prednjem planu), možemo jednostavno nazvati ovaj zadatak (za trenutno izvršenje) ili zakazati taj zadatak za odgodu obrade. Celer će nositi poruke koje prolaze i izvršavaju zadatke. To bi pokrenulo radnike koji bi znali izvršavati definirane zadatke i pohranjivati ​​rezultate. Tako kasnije možete zatražiti rezultat zadatka ili čak napredovanje zadatka kad je potrebno. Možete koristiti i Celery kao alternativu za posao u cron (iako mi se to zapravo ne sviđa)!

Juan Francisco Calderon Zumba

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

Moje je razumijevanje da je celer samo vrlo visok stupanj apstrakcije za implementaciju proizvođača / potrošača događaja. Potrebno je nekoliko bolnih stvari koje trebate učiniti da biste radili, na primjer, s kunićem. Celer sam po sebi nije na redu. Redovi događaja pohranjuju se u sustav po vašem izboru, celer vam pomaže da radite s takvim događajima bez potrebe da ispisujete proizvođača / potrošača od nule.
Celer je Wrapper / Framework koji oduzima složenost upravljanja osnovnim AMQP mehanizmima / arhitekturom koji dolaze s operativnim RabbitMQ izravno