1.9 KiB
1.9 KiB
#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확인
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노드에서 다음 명령어 실행
# 노드 중지
> rabbitmqctl stop_app
# 노드 다시 세팅
> rabbitmqctl reset
# 클러스터 조인
> rabbitmqctl join_cluster rabbit@DESKTOP-M1OISC7
# 노드 시작
> rabbitmqctl start_app
# 클러스터 상태 확인
? rabbitmqctl cluster_status
- Master 노드를 RAM 타입으로 구성
rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app
- 미러링 설정
# simple.으로 시작 하는 모든 큐 미러링
rabbitmqctl set_policy sample-all "^sample\." "{""ha-mode"":""all""}"
# 정책 제거
rabbitmqctl clear_policy ha-two
다른서버 접속 설정
- 유저 생성 (필수)
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.......