Este repositório contém dois microserviços, um cliente e um servidor, que se comunicam usando o RabbitMQ como sistema de mensageria. Os microserviços são desenvolvidos em C# e estão configurados para serem executados em contêineres Docker.
Você pode baixar o docker apropriado para seu uso aqui: https://www.docker.com/products/docker-desktop/
- Docker instalado e configurado na sua máquina (Instruções de Instalação Docker)
- Postman instalado para testar os serviços (Página de Download do Postman)
-
Clonar o Repositório:
Clone este repositório para sua máquina local:
git clone https://github.com/Raphaelfm/Microservi-os-com-RabbitMQ.git
-
Construir os Contêineres Docker:
No diretório raiz do repositório, execute o comando a seguir para construir os contêineres Docker:
docker-compose build
-
Iniciar os Serviços:
Após a construção dos contêineres, execute o seguinte comando para iniciar os serviços:
docker-compose up
Este comando iniciará os contêineres Docker para os microserviços cliente e servidor, bem como para o RabbitMQ.
-
Acessar os Serviços:
- O serviço do cliente estará acessível em
http://localhost:5001/Pagamento/pagar. - O serviço do servidor estará acessível em
http://localhost:5002/Notificacao/notificar.
- O serviço do cliente estará acessível em
Você pode testar os serviços usando o Postman:
- Abra o Postman e crie uma nova requisição.
- Defina o método como
POST. - Insira o URL do serviço desejado (por exemplo,
http://localhost:5001/Pagamento/pagarpara o serviço do cliente). - Adicione os parâmetros necessários no corpo da requisição, se aplicável.
- Envie a requisição e verifique a resposta do serviço.
Para parar os serviços e remover os contêineres Docker, execute o seguinte comando:
docker-compose downIsso encerrará todos os contêineres Docker associados aos serviços.
- Certifique-se de que as portas necessárias (8080, 5000, 5672, 15672) estão disponíveis em sua máquina local e não estão sendo utilizadas por outros serviços.
- Certifique-se de que não há problemas de firewall que possam bloquear o tráfego nas portas utilizadas pelos serviços.