IntermediárioFree1h
Fila de mensagens com RabbitMQ
Um produtor envia pedidos mais rápido do que um consumidor consegue processar: a fila cresce, e você acompanha tudo pelo painel do RabbitMQ.
Depois você escala para vários consumidores, vê a carga ser dividida e prova que nenhuma mensagem se perde quando os consumidores caem.
O que você vai praticar
- Publicar e consumir mensagens com filas duráveis e ack manual
- Escalar consumidores com --scale e observar a distribuição
- Usar o painel de gerenciamento para diagnosticar filas
O que vem no pacote
docker-compose.yml
services:
rabbitmq:
image: rabbitmq:3.13-management-alpine
ports:
- "5672:5672"
- "15672:15672"
producer:
build: ./app
command: node producer.js
environment:
AMQP_URL: amqp://guest:guest@rabbitmq:5672
depends_on:
- rabbitmq
restart: on-failure
consumer:
build: ./app
command: node consumer.js
environment:
AMQP_URL: amqp://guest:guest@rabbitmq:5672
depends_on:
- rabbitmq
restart: on-failureEste lab pede o seu token do MA Labs
Cole o token (disponível no seu painel) na variável MALABS_TOKEN do .env do pacote. Sem um token válido, o lab recusa iniciar.