AMQP vs interní queue rubrika: Návrh
Připravuji SMS bránu, na kterou budou 2 (nebo více) e-shopů posílat požadavky na odeslání SMS. Eshopy budou na stejném serveru jako SMS brána. Těch SMS může být v jednu chvíli více, než je propustnost SMS brány. Běžně toto řeším pomocí Queue přímo v aplikaci (v tomto případě v SMS bráně), např. pomocí Laravel Queues, které běží na Redisu.
Jakou výhodu by mělo, když bych před SMS bránu předřadil AMQP, třeba RabbitMQ?
Jako jednu z výhod vidím to, že bych nemusel frontu realizovat přímo v SMS bráně. Ta brána by byla jenom konzument fronty z AMQP. V e-shopech bych pak SMS posílal přímo do Rabbita. Těch SMS bran pak může být teoreticky více a můžou se střídat v odbavování.
Výhodu řešení s interní frontou zase vidím v tom, že mě to donutí udělat nějaké jednoduché API na SMS bráně, které bude univerzální i třeba pro externí aplikace, které neběží na stejném serveru a nechtějí řešit žádné fronty, chtějí prostě jenom poslat request na /api/v1/send.
Nějaké výhody/nevýhody co mi unikají? K čemu byste se přiklonili vy?
Díky
AMQP nie je komponenet ani fronta je to komunikacny protokol.
Kedze pri odosielani SMS nezalezi na poradi, tak jediny rozdiel by si asi pocitil pri velmi velkom objeme odosielanych SMS-iek a pri tom, ked chces mat tych SMS bran viac s jednym vstupnym bodom.
Nenapisal si ako je v sucasnosti impelemntovana ta interna fronta, ale tu kludne stacila tabulka v databaze, RabbitMQ moze byt na toto owerhed, ktory ti prinie benefit len od urciteho objemu dat. A aj k externej fronte vies napisat jednoduchy vstupny bod pre API (napriklad REST).
Nevyhodou RabbitMQ je zas vysie poziadavky na infrastrukturu, ked uz dal by som ju na samostatny stroj.
Pro zobrazení všech 2 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře