Skip to content

fabioods/intensivao_fc

Repository files navigation

Welcome to Intensivão Full Cycle 👋

Version Twitter: fabioods

Aplicação de conceitos de microserviços e comunicação entre eles.

Author

👤 Fábio dos Santos

Configuration

Subir RabbitMQ & Reddis

Dentro da pasta docker executar:

docker-compose up -d

Microserviço Product

Para executar o MS execute no terminal:

go run product.go

Microserviço checkout

Executar no terminal:

export RABBITMQ_ERLANG_COOKIE="SWQOKODSQALRPCLNMEQG"
export RABBITMQ_DEFAULT_USER="rabbitmq"
export RABBITMQ_DEFAULT_PASS="rabbitmq"
export RABBITMQ_DEFAULT_VHOST="/"
export PRODUCT_URL="http://localhost:8081"

Para executar o MS execute no terminal:

go run checkout.go

Microserviço catalog

Executar no terminal

export PRODUCT_URL="http://localhost:8081"

Para executar o MS execute no terminal:

go run catalog.go

Microserviço de Order

Executar no terminal:

export RABBITMQ_ERLANG_COOKIE="SWQOKODSQALRPCLNMEQG"
export RABBITMQ_DEFAULT_USER="rabbitmq"
export RABBITMQ_DEFAULT_PASS="rabbitmq"
export RABBITMQ_DEFAULT_VHOST="/"
export RABBITMQ_CONSUMER_QUEUE="checkout_queue"
export REDIS_HOST="localhost:6379"

Para o MS de Order serão necessários 2 terminais, um deles para a Order consumir os dados do checkout e enviar para o MS de Payment, e outro para o MS de Order consumir a resposta do MS de Payment. Para o primeiro caso devemos executar no terminal o seguinte comando, além dos export's acima:

go run order.go -opt checkout

Já para o segundo caso devemos executar no terminal o seguinte comando, além dos export's acima:

go run order.go -opt payment

Microserviço de Payment

Executar no terminal

export RABBITMQ_ERLANG_COOKIE="SWQOKODSQALRPCLNMEQG"
export RABBITMQ_DEFAULT_USER="rabbitmq"
export RABBITMQ_DEFAULT_PASS="rabbitmq"
export RABBITMQ_DEFAULT_VHOST="/"
export RABBITMQ_CONSUMER_QUEUE="order_queue"

Para executar o MS execute no terminal:

go run payment.go

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator