[RabbitMQ] 설치 및 기동

2024. 12. 15. 17:45Backend/Messaging(Kafka,RabbitMQ)

 

🧑‍💻 회사에서 SCDF(Spring Cloud Data Flow)를 사용하고 있다. SCDF를 local에 설치하고, 미리 빌드하여 준비한 jar 파일을 연결하려고 하였습니다. 이 때, SCDF를 이용하여 데이터 스트림 처리를 하고 시스템 간 메시지를 전달하기 위해, 메시지 큐가 필요합니다.. 이 때 사용되는 것이 RabbitMQ나 Kafka인데요. 사용하고 있는 RabbitMQ를 공부하기 위해, 설치하는 방법을 기록해보려고 합니다.


1. RabbitMQ란?

 

RabbitMQ is a reliable and mature messaging and streaming broker,

which is easy to deploy on cloud environments, on-premises, and on your local machine. 

- RabbitMQ (https://www.rabbitmq.com/)

 

RabbitMQ는 클라우드 환경, 온 프레미스(자체 보유한 서버 등에 직접 설치해 운영), 로컬에 쉽게 배포할 수 있는 스트리밍 브로커입니다.

 

한 블로그에서 RabbitMQ를 다음과 같이 소개하고 있습니다.

 

RabbitMQ provides an interface using the pub-sub mechanism

to federate highly scalable and available components for distributed applications.

- Medium (https://medium.com/globant/introduction-to-rabbitmq-5af1a58b942e)

 

RabbitMQ는 pub-sub 메커니즘(publisher - subscriber / 발행 - 구독)을 이용한 인터페이스를 제공하는 것으로 소개하고 있습니다.


그렇다면, RabbitMQ를 어떻게 설치할 수 있을까요?

2. 설치 순서

먼저 RabbitMQ는 Erlang으로 작성되었기 때문에, RabbitMQ를 설치하기 위해서는 Erlang을 설치해야 합니다.

 

Erlang is a programming language

used to build massively scalable soft real-time systems with requirements on high availability.

- Erlang (https://www.rabbitmq.com/docs/which-erlang)

 

Erlang 홈페이지에서, Erlang은 고가용성 요구 사항을 갖춘, 대규모로 확장 가능한 소프트 real-time(실시간) 시스템을 만드는데 사용되는 프로그래밍 언어라고 소개합니다. (저는 RabbitMQ가 Erlang으로 작성되었기에 필요하다고 이해하고 넘어갔습니다.. 다만 더 공부하고 싶으신 분들은, Erlang을 좀 더 공부해보셔도 좋을 것 같습니다)

 

 

1) Erlang 설치

 

예를 들어 Java - Spring Boot - 그 외 라이브러리가 버전마다 호환될 수 있는 범위가 제한되어 있는 것처럼, Erlang과 RabbitMQ 또한 호환되는 범위가 있습니다. 아래 RabbitMQ 페이지에서 호환되는 버전을 확인할 수 있는, Compatibility Matrix를 제공하고 있습니다.

 

Erlang Version Requirements | RabbitMQ

<!--

www.rabbitmq.com

 

저는 참고로, 제일 최신 버전을 이용하기 위해서... RabbitMQ 4.0.4 와 Erlang 27.2를 설치하기로 했습니다.

 

설치하기로 한 버전들을 확인했으니, Erlang을 다운로드 하겠습니다!

 

 

Index - Erlang/OTP

The official home of the Erlang Programming Language

www.erlang.org

 

저는 Windows 11을 사용중인데, Erlang 홈페이지에서 'Download Windows installer'를 눌러, 설치하는 환경에 맞게 Erlang을 다운로드 해줍니다!

이후 큰 설정을 건드리지 않고, Erlang을 설치하였습니다.

 

2) RabbitMQ 설치

 

Erlang을 설치했으니, RabbitMQ을 설치해보겠습니다. 아래 RabbitMQ 서버 다운로드 페이지에서, 설치 파일을 다운로드 해줍니다.

 

 

Installing RabbitMQ | RabbitMQ

<!--

www.rabbitmq.com

 

 

이후 설치 파일을 실행한 화면입니다! 저는 기본 설정으로 설치해보겠습니다.

 

 

3) RabbitMQ 실행을 위한 환경 설정

 

RabbitMQ을 좀 더 쉽게 실행하고 관리하기 위해서, 몇 가지 설정이 필요합니다.

 

먼저, 환경 변수를 설정하는 방법입니다. (Windows 11)

시스템 속성 - 고급 - 환경 변수 - 사용자 변수 - Path - C:\Program Files\RabbitMQ Server\rabbitmq_server-4.0.4\sbin 입력

 

 

다음으로, RabbitMQ plugin 를 설치할 수 있습니다.

<RabbitMQ 플러그인>
1. 관리용 웹 UI 제공
rabbitmq-plugins enable rabbitmq_management

2. MQTT(Message Queuing Telemetry Transport) 지원하며, MQTT 클라이언트와 통신 가능
rabbitmq-plugins enable rabbitmq_mqtt

3. 웹 기반 MQTT 클라이언트 제공
rabbitmq-plugins enable rabbitmq_web_mqtt

 

 

이후 rabbitmq-plugins list를 통해, 원하는 플러그인이 설치되었는지 확인해보겠습니다.

 

 

마지막으로, Windows 방화벽 오픈해야 합니다. 관련하여 잘 설명하고 있는 블로그를 소개합니다.

 

 

RabbitMQ 설치 및 실행

Windows 환경에서 RabbitMQ를 설치하고 실행하는 방법을 정리한다.

velog.io

 

** 인바운드란? 외부 네트워크에서 내부 네트워크로 들어오는(in) 데이터나 트래픽을 말하고 있습니다.

 


3. RabbitMQ 실행

 

1) server 실행 

 

설치된 rabbitMQ 서버를 실행해보겠습니다!!

 

windows 11 기준으로 Win+R(실행) - cmd - rabbitmq-server 를 입력하게 되면, 다음과 같은 화면이 나옵니다!!

 

 

2) page 접속

 

이후 rabbitMQ 페이지를 접속하면 됩니다. 설정할 때, 웹 관리 콘솔 포트를 15672로 등록했었습니다. http://localhost:15672/ 로 접속하게 되면 다음과 같이 RabbitMQ Management 페이지를 확인할 수 있습니다.

 

처음 설정된 ID와 Password는 guest / guest 입니다.


4. RabbitMQ Tutorials

RabbitMQ 튜토리얼을 더 공부하고 싶으신 분들은, 튜토리얼 페이지를 참고하시면 됩니다.

 

 

RabbitMQ Tutorials | RabbitMQ

<!--

www.rabbitmq.com


References

1. Erlang : https://www.rabbitmq.com/docs/which-erlang

2. RabbitMQ : 

  1) RabbitMQ and Erlang/OTP Compatibility Matrix : https://www.rabbitmq.com/docs/which-erlang

  2) 설치 : https://www.rabbitmq.com/docs/download

  3) 튜토리얼 : https://www.rabbitmq.com/tutorials

3. RabbitMQ 소개 : https://medium.com/globant/introduction-to-rabbitmq-5af1a58b942e

4. RabbitMQ 설치 및 실행 : https://velog.io/@yeseong31/RabbitMQ-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8B%A4%ED%96%89 

 

 

 

 

'Backend > Messaging(Kafka,RabbitMQ)' 카테고리의 다른 글

[Kafka] Message 구독하기  (0) 2026.04.01