Cosa c'è installato sul tuo server RabbitMQ?
- RabbitMQ 4 dalla build Alpine dell'immagine Docker ufficiale con l'interfaccia di gestione, sull'ultima 4.x al momento dell'installazione
- Interfaccia di gestione in HTTPS tramite Caddy a un indirizzo sslip.io, quindi il dominio è facoltativo
- Porta 5672 aperta per le connessioni AMQP
- Un account admin chiamato yonetici al posto di guest, con password generata
- Dati delle code conservati nel volume Docker rabbit_veri
- File Compose in /opt/seturack/rabbitmq/compose.yaml
- Firewall con aperte solo le porte 22, 80, 443 e 5672
Che dimensione ti serve per RabbitMQ?
La checklist di produzione di RabbitMQ chiede almeno 4 GiB di RAM e 4 core per nodo, e dice che RabbitMQ non è stato progettato per ambienti a core singolo. Considera la dimensione minima, 2 GB, una dimensione per sviluppo e test; per la produzione scegli 4 GB e aggiungi CPU. I publisher vengono frenati quando l'uso della memoria supera il 60 percento della RAM, e anche i messaggi persistenti riempiono il disco. RAM, CPU e disco si possono aumentare separatamente dal pannello, e i tuoi dati e il tuo indirizzo IP restano gli stessi.
| Uso | Dimensione | Prezzo | Scegli |
|---|---|---|---|
| Base | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mese | |
| Media | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mese | |
| Potente | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/mese |
Per chi è?
- Team che spostano i job in background fuori dalla propria app web
- Sviluppatori che collegano tra loro i servizi con la messaggistica
- Progetti che usano Celery, Spring AMQP o amqplib
- Chi vuole una vera coda in sviluppo e nei test
Cosa succede dopo l'ordine?
- Imposta la dimensione e completa il pagamento.
- Il server si avvia e RabbitMQ si installa da solo. Nei nostri test su server reali ci sono voluti circa 8 minuti.
- Nella scheda Panoramica, il link nella riga Indirizzo del pannello apre l'interfaccia di gestione. Inserisci i dati delle righe Login e Password.
- Collega la tua app: amqp://yonetici:PASSWORD@IP:5672/%2f
- Nella scheda Admin crea un utente e un virtual host (vhost) separati per la tua app.
Con ogni server
- Backup giornalieri inclusi nel prezzo
- Traffico illimitato
- Accesso root completo
- Aumenta o riduci RAM e CPU in seguito, e ingrandisci il disco
- Sede: Istanbul · IST-1.
Da sapere
- La porta 5672 non ha TLS ed è aperta a internet, e ufw non può chiuderla perché la pubblica Docker. Per limitarla, cambia la riga della porta in compose.yaml in 127.0.0.1:5672:5672, esegui docker compose up -d e collegati tramite un tunnel SSH.
- Il limite di disco libero è impostato di default a 50 MB, che la documentazione ufficiale ritiene adatto solo allo sviluppo. In produzione aumenta disk_free_limit.
- Quando si supera il limite di memoria o di disco, le connessioni che pubblicano vengono bloccate. Man mano che i consumer prelevano i messaggi, l'allarme rientra e il traffico riprende.
- L'immagine segue il tag 4-management-alpine ma non si aggiorna da sola. Per una 4.x più recente, esegui docker compose pull e docker compose up -d nella cartella.
Domande e risposte su RabbitMQ
Come mi collego al mio server RabbitMQ?
La tua stringa di connessione è amqp://yonetici:PASSWORD@IP:5672/%2f. Il %2f finale sta per il virtual host predefinito, /. Secondo la specifica URI di RabbitMQ, un semplice / finale indica un nome vuoto. IP e password sono nel pannello, e la stringa la dai alla libreria client.
Di quanta RAM ha bisogno RabbitMQ?
La checklist di produzione ufficiale di RabbitMQ chiede almeno 4 GiB di RAM e 4 core per nodo. Per sviluppo e test puoi partire con 2 GB.
Come apro l'interfaccia di gestione di RabbitMQ?
La apre il link Indirizzo del pannello, in HTTPS. Il login è yonetici e la password è nel pannello. Dall'interfaccia puoi creare code, exchange, utenti e virtual host, e inviare e ricevere messaggi di prova. La porta 15672 non è aperta verso l'esterno.
La connessione AMQP di RabbitMQ è cifrata?
La porta 5672 di RabbitMQ in questa installazione non ha TLS, quindi password e messaggi viaggiano in chiaro. Per dati sensibili su internet usa un tunnel SSH, oppure configura un listener TLS sulla porta 5671 con un tuo certificato e pubblica quella porta.
Perché i miei publisher RabbitMQ vengono bloccati?
RabbitMQ blocca le connessioni che pubblicano quando l'uso della memoria supera il 60 percento della RAM o il disco libero scende sotto il limite. L'allarme rientra man mano che i consumer prelevano i messaggi. Lo stato lo vedi nella pagina Overview dell'interfaccia di gestione e, se si ripete, ingrandisci il server.
Posso creare un utente RabbitMQ separato per la mia app?
Sì. Nella scheda Admin dell'interfaccia aggiungi un virtual host e un utente e assegna i permessi. Da riga di comando, in /opt/seturack/rabbitmq, esegui docker compose exec rabbitmq rabbitmqctl add_user NAME PASSWORD. Un nuovo utente non può connettersi finché non ha i permessi.