Qualcuno può spiegarmi in quali casi d'uso dovrei considerare l'utilizzo di AMQP come per es. RabbitMQ? Quali sono i pro e i contro?
Immagina di avere un servizio web che può accettare molte richieste al secondo. Hai anche un sistema di contabilità che fa un sacco di cose, una delle quali è l'elaborazione delle richieste provenienti dal servizio web.
Se metti una coda tra il servizio web e il sistema di contabilità, sarai in grado di:
Ovviamente, potresti avere situazioni più complesse in cui il numero delle tue applicazioni è molto più grande di due e devi gestire la comunicazione tra loro.
Oltre a fornire un buffer tra un servizio Web e un altro servizio di backend, le code di messaggi possono essere utilizzate per scenari più avanzati. Rabbit MQ (e altri prodotti di Message Queue maturi chiamati anche MOM - Middle Oriented Middleware) possono essere configurati per instradare e distribuire messaggi in base a regole diverse.
Ad esempio, la tecnica di instradamento Pub-Sub consente a una singola fonte di inviare un messaggio e ricevere molti ascoltatori. Questo è comunemente usato dal software di trading azionario per mantenere aggiornati gli utenti sul pavimento.
Anche perché la maggior parte delle MOM hanno sdk per più lingue e piattaforme, possono essere utilizzate per integrare applicazioni scritte su piattaforme diverse.
Questi sono solo alcuni degli scenari attivati da MOM.
Leggi altre domande sui tag design message-queue