O que vem instalado no seu servidor RabbitMQ?
- RabbitMQ 4 da build Alpine da imagem oficial do Docker com a interface de gerenciamento, na versão 4.x mais recente no momento da instalação
- Interface de gerenciamento por HTTPS via Caddy em um endereço sslip.io, então o domínio é opcional
- Porta 5672 aberta para conexões AMQP
- Uma conta de administrador chamada yonetici em vez de guest, com senha gerada
- Dados das filas guardados no volume Docker rabbit_veri
- Arquivo Compose em /opt/seturack/rabbitmq/compose.yaml
- Firewall com apenas as portas 22, 80, 443 e 5672 abertas
Qual tamanho você precisa para RabbitMQ?
A lista de verificação de produção do RabbitMQ pede pelo menos 4 GiB de RAM e 4 núcleos por nó e diz que o RabbitMQ não foi projetado para ambientes de um único núcleo. Trate o menor tamanho, 2 GB, como tamanho de desenvolvimento e testes, e para produção escolha 4 GB e adicione CPU. Os publicadores são freados quando o uso de memória passa de 60 por cento da RAM, e mensagens persistentes também ocupam o disco. Você pode aumentar RAM, CPU e disco separadamente pelo painel, e seus dados e seu endereço IP continuam os mesmos.
| Uso | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês | |
| Médio | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mês | |
| Potente | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/mês |
Para quem é?
- Equipes que estão tirando tarefas em segundo plano do app web
- Desenvolvedores que montam a troca de mensagens entre serviços
- Projetos que usam Celery, Spring AMQP ou amqplib
- Quem quer uma fila de verdade no desenvolvimento e nos testes
O que acontece depois do pedido?
- Defina o tamanho e conclua o pagamento.
- Seu servidor inicia e o RabbitMQ se instala sozinho. Nos nossos testes em servidores reais, isso levou cerca de 8 minutos.
- Na aba Visão geral, o link da linha Endereço do painel abre a interface de gerenciamento. Digite os dados das linhas Login e Senha.
- Conecte seu app: amqp://yonetici:SENHA@IP:5672/%2f
- Na aba Admin, crie um usuário e um virtual host (vhost) separados para o seu app.
Em todo servidor
- Backup diário incluído no preço
- Tráfego ilimitado
- Acesso root completo
- Aumente ou reduza RAM e CPU depois, e aumente o disco
- Localização: Istanbul · IST-1.
Bom saber
- A porta 5672 não tem TLS e está aberta para a internet, e o ufw não consegue fechá-la porque o Docker a publica. Para limitá-la, altere a linha da porta no compose.yaml para 127.0.0.1:5672:5672, execute docker compose up -d e conecte por um túnel SSH.
- O limite de disco livre vem em 50 MB por padrão, que a documentação oficial considera adequado apenas para desenvolvimento. Aumente o disk_free_limit para produção.
- Ao ultrapassar o limite de memória ou de disco, as conexões que publicam mensagens são bloqueadas. Conforme os consumidores retiram as mensagens, o alarme desaparece e o tráfego volta a fluir.
- A imagem segue a tag 4-management-alpine, mas não se atualiza sozinha. Para uma versão 4.x mais nova, execute docker compose pull e docker compose up -d na pasta.
Perguntas e respostas sobre RabbitMQ
Como me conecto ao meu servidor RabbitMQ?
Sua string de conexão é amqp://yonetici:SENHA@IP:5672/%2f. O %2f no final representa o virtual host padrão, /. A especificação de URI do RabbitMQ diz que uma / simples no final significa um nome vazio. O IP e a senha estão no seu painel, e você passa essa string para a biblioteca cliente.
De quanta RAM o RabbitMQ precisa?
A lista de verificação oficial de produção do RabbitMQ pede pelo menos 4 GiB de RAM e 4 núcleos por nó. Para desenvolvimento e testes, você pode começar com 2 GB.
Como abro a interface de gerenciamento do RabbitMQ?
O link do Endereço do painel abre a interface por HTTPS. O login é yonetici e a senha está no seu painel. Pela interface, você cria filas, exchanges, usuários e virtual hosts e envia e recebe mensagens de teste. A porta 15672 não fica aberta para fora.
A conexão AMQP do RabbitMQ é criptografada?
A porta 5672 do RabbitMQ não tem TLS nesta instalação, então a senha e as mensagens trafegam sem criptografia. Para dados sensíveis pela internet, use um túnel SSH ou configure um listener TLS na porta 5671 com seu próprio certificado e publique essa porta.
Por que meus publicadores do RabbitMQ estão sendo bloqueados?
O RabbitMQ bloqueia as conexões que publicam quando o uso de memória passa de 60 por cento da RAM ou o disco livre cai abaixo do limite. O alarme desaparece conforme os consumidores retiram as mensagens. Você vê o estado na página Overview da interface de gerenciamento e, se isso continuar acontecendo, aumente o servidor.
Posso criar um usuário separado do RabbitMQ para o meu app?
Sim. Na aba Admin da interface, adicione um virtual host e um usuário e conceda as permissões. Pela linha de comando, em /opt/seturack/rabbitmq, execute docker compose exec rabbitmq rabbitmqctl add_user NOME SENHA. Um usuário novo só consegue se conectar depois de receber permissões.