MQ misto DB

Pavel2

MQ misto DB
« kdy: 08. 01. 2015, 11:37:04 »
Ahoj,
muze mi nekdo osvetlit situaci proc se misto DB pouziva MQ pro vymenu zprav mezi aplikacemi?
V cem je tohle reseni lepsi?



TTT

Re:MQ misto DB
« Odpověď #1 kdy: 08. 01. 2015, 11:46:08 »
Protože MQ je určený na výměnu zpráv a databáze na ukládání dat? Když ti chci něco říct, můžu ti to buď říct, nebo napsat na papírek, strčit do šuplíku a doufat, že se na ten papírek někdy podíváš.

perceptron

Re:MQ misto DB
« Odpověď #2 kdy: 08. 01. 2015, 11:53:52 »
nad db by ste museli vyrobit api pre veci ktore ma mq uz hotove: tie patterny si mozete implementovat sam alebo radsej pouzit uz hotove veci. zaroven mate v mq automaticky vyrieseny paralelny pristup, oznacovanie stavu sprav a podobne

a dalej: mq moze bezat kompletne in-memory atd


Ivan

Re:MQ misto DB
« Odpověď #3 kdy: 08. 01. 2015, 11:56:43 »
Ma to jiny API. Push vs. Poll. JMS vs. SQL. Navic nektery databaze Oracle(AQ) anebo PostgreSQL umi oboji.

opiio

Re:MQ misto DB
« Odpověď #4 kdy: 08. 01. 2015, 12:04:18 »
Pokud nekdo ty zpravy zpracovava, musi v intervalech kontrolovat zda v DB neni nova zprava/data ke zpracovani.
V pripade MQ reseni (ZeroMQ apod.) aplikace ceka na zpravu a pri prijeti ji ihned muze zpracovat (pravdepodobne, posloucha na nejakem TCP portu).

Pri paralelnim zpracovani u DB musi bezet X agentu, aby se zpracovalo najednou X zprav.
U MQ bezi pouze agent ktery ceka na prichozi zpravu a az pote se vytvori novy proces na jeji zpracovani.

MQ je vyhodnejsi u event driven aplikaci (napr. nodejs)


Pavel2

Re:MQ misto DB
« Odpověď #5 kdy: 08. 01. 2015, 12:14:06 »
Dekuju za vysvetleni :)

Dfasdfasfda

Re:MQ misto DB
« Odpověď #6 kdy: 08. 01. 2015, 13:29:37 »
Dekuju za vysvetleni :)

ovsem najdou se i pripady kdy staci mit db a obcas kontrolovat nejake zaznamy a podle toho se zaridit.
zda jen db nebo i mq zavisi na designu a situaci.

Pavel2

Re:MQ misto DB
« Odpověď #7 kdy: 08. 01. 2015, 13:37:13 »
A jaky MQ je tak podle Vas nejlepsi? nebo nejrozsirenejsi?

Dfasdfasfda

Re:MQ misto DB
« Odpověď #8 kdy: 08. 01. 2015, 13:37:51 »

M.

Re:MQ misto DB
« Odpověď #9 kdy: 08. 01. 2015, 13:45:59 »
Dekuju za vysvetleni :)

ovsem najdou se i pripady kdy staci mit db a obcas kontrolovat nejake zaznamy a podle toho se zaridit.
zda jen db nebo i mq zavisi na designu a situaci.

A jsou i opačné případy, kdy mi stačí MQ místo DB, třeba když mi stačí jen poslední hodnota a ne historie, tak používáš MQTT a mám pro dané topicy nastavneu persistenci, takže kdo se připojí, tak dostane poslední známou hodnotu (i s příznakem, že to je hisotrie a ne aktuálně poslané).
Takže záleží na aplikaci a účelu.

Pavel2

Re:MQ misto DB
« Odpověď #10 kdy: 08. 01. 2015, 13:48:50 »
Zkousel sem si rozjet RabbitMQ start sice funguje, ale neni mi jasne co vsechno je treba konfigurovat pro spravnou funkcnost

Re:MQ misto DB
« Odpověď #11 kdy: 08. 01. 2015, 13:52:16 »
Zkousel sem si rozjet RabbitMQ start sice funguje, ale neni mi jasne co vsechno je treba konfigurovat pro spravnou funkcnost
Pokud si nejsi jisty, ze potrebujes nejakou featuru, kterou ma jenom Rabbit, tak pouzij ZeroMQ a nemusis nic resit.

M.

Re:MQ misto DB
« Odpověď #12 kdy: 08. 01. 2015, 13:57:48 »
Jestli chcete zkusit něco jendoduššího, tak se podívejte na MQTT protokol a implementaci serveru v podobě mosquitto:
http://mosquitto.org/
Plusem je, že ten MQTT protokol podporuje řada dalších MQ serverů, takže se dá pak přejít na něco vyspělejšího, když si vyhraju s relativně jednoduchým mosquitto serverem. :-)
Proti ZeroMQ je MQTT příjemnější, umí toho trochu míň v některých věcech, ale je jednodušší na použití, protože má pár věcí hotovo v sobě, co si v 0MQ musím ošwtřovat sám.
Například i Facebook messenger je (byl?) postaven na MQTT.

Re:MQ misto DB
« Odpověď #13 kdy: 08. 01. 2015, 14:03:35 »
MQTT je super, ale pocet patternu je jeste omezenejsi nez u zmq. Pokud se pouziva na to, na co je urcenej (pubsub), tak imho nema konkurenci.

Pavel2

Re:MQ misto DB
« Odpověď #14 kdy: 08. 01. 2015, 14:17:32 »
I tak by me zajimalo co je treba nastavit u RabbitMQ pro jeho spravnou funkcnost, protoze bych si ho chtel vyzkouset