O que vem instalado no servidor RabbitMQ?
- RabbitMQ 4 a partir da compilação Alpine da imagem Docker oficial, com a interface de gestão, na última versão 4.x no momento da instalação
- Interface de gestão por HTTPS através do Caddy num endereço sslip.io, pelo que o domínio é opcional
- Porta 5672 aberta para ligações AMQP
- Uma conta de administração chamada yonetici em vez de guest, com palavra-passe gerada
- Dados das filas guardados no volume Docker rabbit_veri
- Ficheiro Compose em /opt/seturack/rabbitmq/compose.yaml
- Firewall com apenas as portas 22, 80, 443 e 5672 abertas
Que tamanho é necessário para o 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 concebido para ambientes de um só núcleo. Trate o tamanho mais pequeno, 2 GB, como tamanho de desenvolvimento e teste, e para produção escolha 4 GB e acrescente CPU. Os publicadores são travados quando a utilização de memória ultrapassa 60 por cento da RAM, e as mensagens persistentes também enchem o disco. Pode aumentar a RAM, o CPU e o disco em separado a partir do painel, e os seus dados e o endereço IP mantêm-se.
| Utilização | 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 é?
- Equipas que tiram as tarefas em segundo plano da sua aplicação web
- Programadores que montam a troca de mensagens entre serviços
- Projetos que usam Celery, Spring AMQP ou amqplib
- Quem quer uma fila a sério em desenvolvimento e testes
O que acontece depois de encomendar?
- Defina o tamanho e conclua o pagamento.
- O seu servidor arranca e o RabbitMQ instala-se sozinho. Nos nossos testes em servidores reais, demorou cerca de 8 minutos.
- No separador Resumo, a ligação na linha Endereço do painel abre a interface de gestão. Introduza os dados das linhas Utilizador e Palavra-passe.
- Ligue a sua aplicação: amqp://yonetici:PASSWORD@IP:5672/%2f
- No separador Admin, crie um utilizador e um host virtual (vhost) à parte para a sua aplicação.
Em todos os servidores
- Cópias de segurança diárias incluídas no preço
- Tráfego ilimitado
- Acesso root completo
- Aumentar ou reduzir a RAM e o CPU mais tarde, e fazer crescer o disco
- Localização: Istanbul · IST-1.
Bom saber
- A porta 5672 não tem TLS e está aberta à Internet, e o ufw não a consegue fechar porque o Docker a publica. Para a limitar, altere a linha da porta em compose.yaml para 127.0.0.1:5672:5672, execute docker compose up -d e ligue-se através de um túnel SSH.
- O limite de disco livre é de 50 MB por predefinição, 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 ligações de publicação são bloqueadas. À medida que os consumidores retiram mensagens, o alarme desaparece e o tráfego volta a fluir.
- A imagem segue a etiqueta 4-management-alpine mas não se atualiza sozinha. Para uma versão 4.x mais recente, execute docker compose pull e docker compose up -d na pasta.
RabbitMQ: perguntas e respostas
Como me ligo ao meu servidor RabbitMQ?
A sua cadeia de ligação é amqp://yonetici:PASSWORD@IP:5672/%2f. O %2f no fim representa o host virtual predefinido, /. A especificação de URI do RabbitMQ diz que uma simples / no fim significa um nome vazio. O IP e a palavra-passe estão no seu painel, e esta cadeia é entregue à biblioteca do seu cliente.
De quanta RAM precisa o RabbitMQ?
A lista de verificação de produção oficial do RabbitMQ pede pelo menos 4 GiB de RAM e 4 núcleos por nó. Para desenvolvimento e testes, pode começar com 2 GB.
Como abro a interface de gestão do RabbitMQ?
A ligação Endereço do painel no seu painel abre-a por HTTPS. O utilizador é yonetici e a palavra-passe está no painel. Na interface pode criar filas, exchanges, utilizadores e hosts virtuais, e enviar e receber mensagens de teste. A porta 15672 não está aberta ao exterior.
A ligação AMQP do RabbitMQ está cifrada?
A porta 5672 do RabbitMQ não tem TLS nesta instalação, por isso a palavra-passe e as mensagens viajam sem cifra. Para dados sensíveis pela Internet, use um túnel SSH, ou configure um listener TLS na porta 5671 com o seu próprio certificado e publique essa porta.
Porque estão os meus publicadores RabbitMQ a ser bloqueados?
O RabbitMQ bloqueia as ligações de publicação quando a utilização de memória ultrapassa 60 por cento da RAM ou o disco livre desce abaixo do limite. O alarme desaparece à medida que os consumidores retiram mensagens. Pode ver o estado na página Overview da interface de gestão e, se continuar a acontecer, aumente o tamanho do servidor.
Posso criar um utilizador RabbitMQ à parte para a minha aplicação?
Sim. No separador Admin da interface, adicione um host virtual e um utilizador e conceda permissões. Na linha de comandos, em /opt/seturack/rabbitmq, execute docker compose exec rabbitmq rabbitmqctl add_user NAME PASSWORD. Um utilizador novo não consegue ligar-se enquanto não tiver permissões.