#RabbitMQ ### 1. 클러스터 구성 + Queue 미러링 192.168.12.21 master 192.168.12.168 slave 클러스터 구성에 필요한 포트 4369 : 노드를 찾기 위해 사용 5672, 5671 : AMQP 25672 : inter-node와 cli 통신을 위한 사용 (rabbitmqctl ) 15672 : http api , management UI ##### Windows에서 테스트 - HostName확인 ```cmd rabbitmqctl cluster_status -> rabbit@DESKTOP-M1OISC7 ``` - host.txt 파일에 HostName 등록 (모든 서버확인하여 전부 추가) > Windows\System32\drivers\etc\host.txt > -> 192.168.12.21 rabbit@DESKTOP-M1OISC7 - 메인이 될 서버에서 Elang 쿠키복사 > C:\Windows\System32\config\systemprofile > -> erlang.cookie 파일복사 - (RabbitMQ 서비스 중지후)노드 서버에 복사한 쿠키파일 붙여넣기 > C:\Windows\System32\config\systemprofile > C:\Users\user - slave노드의 서비스 재시작 > rabbitmqctl stop > rabbitmqctl start - slave노드에서 다음 명령어 실행 ``` CMD # 노드 중지 > rabbitmqctl stop_app # 노드 다시 세팅 > rabbitmqctl reset # 클러스터 조인 > rabbitmqctl join_cluster rabbit@DESKTOP-M1OISC7 # 노드 시작 > rabbitmqctl start_app # 클러스터 상태 확인 ? rabbitmqctl cluster_status ``` - Master 노드를 RAM 타입으로 구성 ```CMD rabbitmqctl stop_app rabbitmqctl change_cluster_node_type ram rabbitmqctl start_app ``` - 미러링 설정 ``` CMD # simple.으로 시작 하는 모든 큐 미러링 rabbitmqctl set_policy sample-all "^sample\." "{""ha-mode"":""all""}" # 정책 제거 rabbitmqctl clear_policy ha-two ``` ---- 다른서버 접속 설정 - 유저 생성 (필수) ``` CMD rabbitmqctl add_user adteck adteck1! rabbitmqctl set_user_tags adteck administrator rabbitmqctl list_permissions sudo rabbitmqctl set_permissions -p / adteck "." "." ".*" ``` * Client 접속정보에 클러스터링된 IP 전부 셋팅 > spring.rabbitmq.host=192.168.12.21,192.168.12.168....... ---