docker
[docker] rabbitmq 설치 및 사용법
nan2
2023. 5. 31. 09:51
반응형
[ 설치 ]
1. Docker로 RabbitMQ 설치
docker run -d --name rabbitmq -p 5672:5672 -p 8080:15672 --restart=unless-stopped rabbitmq:management
-d: 백그라운드로 실행
--name: 컨테이너명
-p: 호스트와 컨테이너 사이의 포트 포워딩 (5672: RabbitMQ 기본 통신 포트, 15672: RabbitMQ 웹 대시보드 통신 포트, 25672: 클러스터 구성 필요 시)
--restart:stopped: 사용자가 멈추기 전까지는 계속 재부팅 시 실행
2. RabbitMQ 설치 확인하기

localhost:8080 으로 접속하면 RabbitMQ 관리 페이지로 접속된다.
로그인 ID, PW는 guest로 입력해준다.

접속 완료!
[ 사용 ]
1. 스프링 프로젝트 2개 생성(RabbitMQ 라이브러리를 추가해줌)
- producer / consumer
application.yml 파일에 아래 내용 공통으로 넣어줌
spring:
rabbitmq:
host: {{ host }}
port: {{ port }}
username : {{ username }}
password : {{ password }}
2. producer 프로젝트 만들기 (메세지 보내는 애플리케이션)
@Service
public class MsgProducer {
@Autowired
private RabbitTemplate rabbitTemplate;
public void send(String name){
//send1
rabbitTemplate.convertAndSend("{{ queue_name }}", {{ message }});
//send2
//rabbitTemplate.convertAndSend("{{ exchange_name }}","{{ routingkey }}", "{{ message }}");
}
}
@SpringBootApplication
public class ProducerApplication implements CommandLineRunner {
@Autowired
private Producer producer;
public static void main(String[] args) {
SpringApplication.run(ProducerApplication.class, args);
}
@Override
public void run(String... args) {
producer.send("Hi!!");
}
}
3. consumer 프로젝트 만들기 (메세지 받아보는 애플리케이션)
@Service
public class Consumer {
@RabbitListener(queues = "{{queue_name}}")
public void listen(String message){
System.out.println("전달받은 message ::: " + message);
}
}
@SpringBootApplication
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}반응형