Este repositório contém um sistema de roteamento de mensagens baseado em RabbitMQ com o intuito de mostrar de forma simplificada a criação de produtor(Producer), consumidor(Consumer), fila (Queue) e Exchange.
Este projeto demonstra o uso do RabbitMQ para rotear mensagens com base em seu conteúdo. Os números de 0 a 10 são publicados em uma exchange e roteados para filas diferentes dependendo se são pares ou ímpares.
- Produtor: Publica números de 0 a 10 em uma exchange.
- Exchange: roteia mensagens para filas apropriadas com base no conteúdo da mensagem.
- Filas:
- even_numbers: Recebe números pares.
- odd_numbers: Recebe números ímpares.
- Consumidores: Escuta as filas e processa as mensagens.
- Clone the repository:
git clone https://github.com/henrique77/rabbitmq_producer_consumer.git
cd rabbitmq_producer_consumer
- Instale dependências:
go mod tidy
- Inicie o servidor RabbitMQ executando:
docker compose up -d
- Acesse o servidor RabbitMQ:
http://localhost:15672/
user e password: guest
Obs.: Criar filas conforme a seção de arquitetura
- Execute o Produtor:
go run cmd/producer/main.go
Obs.: Nesse momento, se observar a aba queue do RabbitMQ verá 5 mensagens em cada fila criada.
- Execute o Consumidor:
go run cmd/consumer/main.go
Obs.: Será consumida e impressa todas as mensagens que estavam nas filas
Sou Henrique Caires, desenvolvedor de software. Estou a disposição para dúvidas, esclarecimentos e sugestões. Me encontre no linkedin: Henrique Caires