Switch rabbitmq to replicated mode from global mode
search cancel

Switch rabbitmq to replicated mode from global mode

book

Article ID: 375279

calendar_today

Updated On:

Products

CA API Developer Portal

Issue/Introduction

In the case of docker swarm cluster, the rabbitmq starts on all the nodes as global. This will cause portal to write MQ data to all the nodes which can cause inconsistency.

For that reason we need to scale down the rabbitmq to run on single node.

 

Environment

All Supported Portal versions.

Resolution

a. run : `portal.sh keep`
 
b. Above will leave docker.compose file in place.  
 
c. Edit the file and update the rabbitmq definition by removing "mode: global" and replacing with replicas: 1
 
Remove 
 
rabbitmq:
 deploy:
 mode: global
 
Replace
 
rabbitmq:
 deploy:
 replicas: 1
 
d. Stop portal:  docker stack rm portal
 
e. Start portal manually:  docker stack deploy --with-registry-auth --compose-file docker-compose.yml --compose-file analytics.yml portal
 
f. Run 'docker service ls' and check portal_rabbitmq mode is now replicated and Relicas are 1/1. 
 
g. If the replicas are 2/1, then run this command to update the changes.
# docker service update --force <rabbitmq_ID>