Kdyby\RabbitMQ dorucovani zprav konkretnimu consumerovi
- skrivy
- Člen | 52
Aktualne resim pripad, kdy mam v databazi seznam serveru a potreboval bych vzdy konkretnimu poslat zpravu. Samotne servery jsou unikatne identifikovane jejich hostnamem.
- Na kazdem serveru mi pobezi nekolik consumeru, ktere vzdy budou naslouchat na urcitou ulohu (podle slozitosti ulohy) – priklad
- 5× consumer pro posli mail (nenarocna operace)
- 1× consumer pro zazalohuj mailbox (narocna operace – chci, aby se v jeden cas zalohoval jen jeden mailbox)
- 1× consumer pro …
Nedari se mi vsak vymyslet, jak spravne nakonfigurovat producera a consumery, aby naslouchaly jen zpravam, ktere jim patri.
Editoval skrivy (23. 4. 2016 11:34)
- skrivy
- Člen | 52
Ok, tak uz jsem postoupil. Pri vytvareni serveru se rovnou vytvori i fronta a naroutuji se do ni zpravy z exchange podle urciteho klice (pro jednoduchost id serveru).
Kdyz se tedy posle zprava do exchange backup, tak se podle routing key zprava ulozi do fronty backup.mail1.domain.tld
Supr. Dorucovani zprav mi uz funguje.
Ted resim problem, jak spravne vytvorit consumera. Pokud to dobre chapu, tak soucasny kdyby/rabbitmq na to neni pripravene a budu si ho muset celkem hodne ohnout. Pominu-li teda moznost, ze bych mel na kazdem serveru jiny config, kde by bylo primo natvrdo napsano, na jake fronte ma naslouchat.
Potreboval bych tedy, aby consumer naslouchal na fronte, ktera je specificka pro ten jeden server – tzn. backup.mail1.domain.tld, pricemz mail1.domain.tld je ziskano pomoci getmyhostname().
Editoval skrivy (27. 4. 2016 14:01)