Vai al contenuto principale

FAQ — RabbitMQ

Qual è la differenza tra quorum queues e classic queues?​

RabbitMQ propone due tipi principali di queue:

  • Quorum queues: basate sul protocollo Raft, i dati vengono replicati su più nodi del cluster. Garantiscono la durabilità e l'alta disponibilità dei messaggi. Consigliate per la produzione.
  • Classic queues: archiviate su un solo nodo, senza replica tra i nodi. In caso di guasto di tale nodo, i messaggi non sono più disponibili.

Il tipo di queue viene scelto dall'applicazione al momento della dichiarazione (argomento x-queue-type: quorum).

suggerimento

Per beneficiare della replica delle quorum queues, crei il cluster con 3 (Max High Availability) o 5 (Ultra High Availability) repliche.

A cosa servono i virtual host (vhost)?​

I virtual host (vhost) forniscono un isolamento logico all'interno di uno stesso cluster RabbitMQ:

  • Ogni vhost possiede i propri exchange, queue e binding
  • I diritti sono gestiti per vhost, il che permette di controllare l'accesso per applicazione
  • Un utente può avere diritti diversi a seconda del vhost (Administrator su uno, Read-only su un altro)

I vhost si creano nella procedura guidata di creazione (passaggio VHosts) oppure in seguito con Add a VHost nella pagina del cluster. Consulti Gestire vhost e utenti.

Come funzionano gli exchange in RabbitMQ?​

Un exchange riceve i messaggi dai producer e li instrada verso le queue secondo regole di binding:

TipoComportamento
directInstrada il messaggio verso la queue la cui routing key corrisponde esattamente
fanoutDiffonde il messaggio a tutte le queue collegate, senza filtro
topicInstrada secondo un pattern di routing key (es. orders.*, logs.#)
headersInstrada secondo gli header del messaggio anziché la routing key

Il producer pubblica verso un exchange, mai direttamente verso una queue. Exchange e binding vengono dichiarati dalle sue applicazioni.

Su quale porta connettersi?​

I client AMQP si connettono sulla porta 5672, a uno degli indirizzi della sezione Connection del cluster: l'host della zona Internal dalle VM e dai cluster Kubernetes del progetto, l'indirizzo della zona External da Internet (quando l'External Access è attivato).

È possibile cambiare il numero di repliche o il preset dopo la creazione?​

No. Il Number of replicas (e quindi la modalità standalone o cluster) e il Preset sono fissati alla creazione. La versione (verso una versione superiore), la dimensione del disco (in aumento) e l'accesso esterno restano modificabili. Consulti Modificare la configurazione di un cluster.

Ho perso la password di un utente. Come posso recuperarla?​

La password viene mostrata una sola volta e non può essere riletta. Ne generi una nuova con l'azione Change Password dell'utente, quindi aggiorni le sue applicazioni: la vecchia password viene revocata immediatamente.

Quali diritti conferiscono « Administrator » e « Read-only »?​

  • Administrator: lettura, scrittura e configurazione sul vhost (dichiarare exchange e queue, pubblicare, consumare).
  • Read-only: sola lettura sul vhost.

Un utente senza accesso a un vhost non può connettersi a esso.

Come accedere all'interfaccia di management di RabbitMQ?​

La console Hikube non offre l'accesso all'interfaccia web di management di RabbitMQ. Con l'External Access, la porta 15672 di questa interfaccia è raggiungibile all'indirizzo del cluster, in HTTP non cifrato, ma gli utenti creati dalla console non hanno il tag di amministrazione RabbitMQ che essa richiede: non possono quindi accedervi. Vhost e utenti si gestiscono dalla console; exchange e queue, dalle sue applicazioni. Per un'esigenza specifica, contatti il supporto.

Come viene stimato il costo di un cluster?​

La procedura guidata di creazione mostra un Estimated Cost mensile e orario, calcolato in base al preset, al numero di repliche, alla dimensione del disco e all'accesso esterno. La fatturazione effettiva è calcolata sulle ore di utilizzo.