Services for Software Architecture Final Project
To set up the RabbitMQ network:
docker network create --subnet=172.30.0.0/16 rabbitmq_networkRun the RabbitMQ container with management plugins enabled:
docker run -it --rm --name rabbitmq --network rabbitmq_network --ip 172.30.0.2 -p 5672:5672 -p 15672:15672 rabbitmq:4.0-managementTo build and run the services:
docker-compose up --buildTo start the sidecar services for monitoring:
python ./exchange-rate-service/sidecar/sidecar.py
python ./gold-price-service/sidecar/sidecar.py
python ./queue/sidecar/sidecar.pyCreate a dedicated network for the Redis container:
docker network create redis_network_service_6Run the Redis container:
docker run -d --name redis_for_exchange_rate_service_no3 --network redis_network_service_6 -p 6385:6379 redis:latestRun the exchange_rate_service_no3 container:
docker run -d \
--name exchange_rate_service_no3 \
--network rabbitmq_network \
--network redis_network_service_6 \
-e REDIS_HOST=redis_for_exchange_rate_service_no3 \
-e CONTAINER_NAME=exchange_rate_service_no3 \
-e SIDECAR_URL=http://127.0.0.1:4006 \
-e SERVICE_ID=1 \
-p 3010:3007 int3105-55-services-app_3Create a dedicated network for the Redis container:
docker network create redis_network_service_7Run the Redis container:
docker run -d --name redis_for_gold_price_service_no3 --network redis_network_service_7 -p 6388:6379 redis:latestRun the gold_price_service_no3 container:
docker run -d \
--name gold_price_service_no3 \
--network rabbitmq_network \
--network redis_network_service_7 \
-e REDIS_HOST=redis_for_gold_price_service_no3 \
-e CONTAINER_NAME=gold_price_service_no3 \
-e SIDECAR_URL=http://127.0.0.1:4007 \
-e SERVICE_ID=2 \
int3105-55-services-app_1- Replace
int3105-55-services-app_3andint3105-55-services-app_1with the appropriate Docker images if they differ. - Ensure the sidecar URLs and service IDs match the configurations in your project.
- RabbitMQ management interface is accessible at
http://<host>:15672.