Qualcuno può spiegarmi in quali casi d'uso dovrei considerare l'uso di AMQP come ad esempio RabbitMQ? Quali sono i pro e i contro?
Qualcuno può spiegarmi in quali casi d'uso dovrei considerare l'uso di AMQP come ad esempio RabbitMQ? Quali sono i pro e i contro?
Risposte:
Immagina di avere un servizio web in grado di accettare molte richieste al secondo. Hai anche un sistema di contabilità che fa molte cose, una delle quali sta elaborando le richieste provenienti dal servizio web.
Se si inserisce una coda tra il servizio Web e il sistema di contabilità, si sarà in grado di:
Naturalmente, potresti avere situazioni più complesse in cui il numero delle tue applicazioni è molto più grande di due e devi gestire la comunicazione tra di loro.
Oltre a fornire un buffer tra un servizio Web e un altro servizio back-end, è possibile utilizzare le code dei messaggi per scenari più avanzati. Rabbit MQ (e altri prodotti di coda di messaggi maturi chiamati anche MOM - Message Oriented Middleware) possono essere configurati per instradare e distribuire i messaggi in base a regole diverse.
Ad esempio, la tecnica di routing Pub-Sub consente a un'unica fonte di inviare un messaggio e far sì che molti ascoltatori lo ricevano. Questo è comunemente usato dal software di trading azionario per tenere aggiornati gli utenti.
Anche a causa del fatto che la maggior parte delle MOM dispone di sdk per più lingue e piattaforme, possono essere utilizzate per integrare applicazioni scritte su piattaforme diverse.
Questi sono solo alcuni degli scenari abilitati dalle MOM.