Deplomo
Accedi
Message broker e code nel cloud

RabbitMQ: message broker per architetture a microservizi

Usa RabbitMQ per organizzare la messaggistica asincrona tra servizi tramite code e regole di routing. Le risorse e la configurazione dipendono dal pacchetto scelto.

Caratteristiche di RabbitMQ su Deplomo

Plugin Management, storage persistente e opzioni di rete secondo la configurazione disponibile.

Conferme di ricezione e persistenza delle code

RabbitMQ supporta le conferme di ricezione dei messaggi e può archiviare le code su storage NVMe persistente, se previsto dalla configurazione.

Messaggistica asincrona

Invia attività e job in background tramite code, così i servizi possono elaborare i messaggi senza attendere una risposta sincrona.

Interfaccia web di gestione

Il plugin Management offre un’interfaccia per consultare code, exchange e connessioni dei client.

AMQP e client per diversi linguaggi

Puoi collegare client per Python (ad esempio Celery), Node.js, Go, PHP con Laravel e Java. MQTT e STOMP sono disponibili se sono installati e configurati i plugin corrispondenti.

Modalità di routing dei messaggi

RabbitMQ supporta gli exchange Direct, Fanout, Topic e Headers per instradare i messaggi alle code in base alle regole configurate.

Container e rete del progetto

Esegui RabbitMQ in un container isolato collegato alla rete privata del progetto. Assegna le risorse entro il pacchetto mensile della tua zona.

Domande frequenti su RabbitMQ

Risposte alle domande su RabbitMQ, messaggistica asincrona e comunicazione tra microservizi:

Guida a RabbitMQ per code e messaggistica asincrona

Nelle architetture a microservizi, i servizi possono comunicare in modo sincrono o asincrono. Una coda permette a un servizio di inviare un messaggio senza attendere che il destinatario lo elabori, ma non elimina automaticamente i colli di bottiglia: progettazione, capacità e gestione degli errori restano importanti. RabbitMQ è un message broker open source che supporta questo modello. Il provisioning su Deplomo è attualmente sospeso.

Che cos’è RabbitMQ e come funziona un message broker?

RabbitMQ è un message broker che supporta AMQP. Riceve i messaggi dai produttori e li instrada verso le code usando exchange e binding, ad esempio di tipo Direct, Fanout o Topic. I consumatori leggono poi i messaggi dalle code.

Per flussi di eventi ad alto volume, puoi valutare anche Apache Kafka , mentre per la messaggistica tra microservizi puoi considerare nats server come alternative o componenti complementari, in base al carico e alle funzionalità richieste.

Gestire RabbitMQ autonomamente o tramite un servizio cloud

Installare RabbitMQ su Linux può richiedere la configurazione di Erlang/OTP, dell’ambiente di esecuzione, dei plugin Management, dei cookie Erlang per il clustering e delle porte di rete. Parametri come vm_memory_high_watermark vanno dimensionati e verificati in base alle risorse.

Un servizio gestito può includere container, interfaccia web e opzioni di storage e rete. Le caratteristiche dipendono dalla configurazione del servizio; il provisioning di RabbitMQ su Deplomo è attualmente sospeso.

Aspetti da confrontare tra RabbitMQ, database e installazione autonoma

La scelta dipende dal modello di messaggistica, dal carico e dalle attività di gestione previste:

AspettoRabbitMQ su Deplomo (provisioning sospeso)Database usato come codaInstallazione autonoma su un server
Routing e gestione dei messaggiFunzionalità di message broker e routing AMQP; prestazioni dipendono dal carico e dalla configurazioneLa gestione di code tramite database dipende dallo schema e dalle query utilizzateLa gestione continuativa dipende dalla configurazione e dall’ambiente scelti
Provisioning e configurazioneDipende dalla procedura e dall'ambiente di installazioneLe attività iniziali e la possibilità di modificare le risorse dipendono dalla soluzione sceltaSu un server autonomo, configura Erlang, le porte di rete e il firewall
Interfaccia web e consultazione delle codeIl plugin Management offre un’interfaccia web, se incluso e attivatoAlcuni strumenti richiedono l’uso di query o comandiLa configurazione autonoma può richiedere l’attivazione dei plugin e la gestione degli accessi
Prezzi e dimensionamentoPrezzo mensile fisso del pacchetto in euroCosti e funzionalità dipendono dalla soluzione e dal pacchetto sceltiPrezzi e possibilità di modificare le risorse dipendono dal provider e dal piano.

Confronta le funzioni di routing, la gestione, le risorse e le opzioni di storage e backup. La scelta dipende dai requisiti del sistema; il provisioning di RabbitMQ su Deplomo è attualmente sospeso.

Passaggi per configurare RabbitMQ e collegare i client

Quando il provisioning sarà disponibile, segui questi passaggi indicativi e verifica i parametri del servizio:

  1. Prepara l'ambiente: Seleziona RabbitMQ nel Marketplace della console cloud, se il provisioning è disponibile.
  2. Scegli le risorse: Scegli le risorse in base al carico previsto, rispettando i limiti del pacchetto.
  3. Configura il servizio e il dominio: Dopo la creazione, recupera dal pannello le credenziali e la porta Management, se il plugin è attivo.
  4. Collega i microservizi: Inserisci la stringa di connessione amqp:// nelle librerie client per Python, Node.js o Laravel, usando l’host, la porta e le credenziali configurati.

Valutare RabbitMQ per la messaggistica asincrona

RabbitMQ può gestire code e messaggi tra microservizi. Prima di scegliere un servizio, verifica le opzioni di storage persistente, backup, rete e accesso. Il provisioning su Deplomo è attualmente sospeso.

Consulta le opzioni per RabbitMQ quando il provisioning sarà disponibile.

Metti in funzione RabbitMQ in pochi secondi

Installazione automatica con risorse dedicate, supporto per domini personali e pagamento orario economico.