글 작성자: cjwoov
반응형

RabbitMQ

 RabbitMQ는 다른 서버끼리 메세지를 쉽게 주고받는 것을 가능하게 하는 메세지 큐다.

중간에서 메세지를 Queuing 하여 통신을 가능케하는데,

 

 왜? 굳이 직접 서버끼리 통신하면 될 것을 RabbitMQ같은 솔루션을 통해 통신을 하느냐?

내가 느낀 바로는 다음과 같다.

 

1. 다른 언어로 짜인 서버 통신을 좀 더 쉽게 만들어 준다.

 다른 언어로 짜여진 서버가 있는데 서로의 언어가 다르기 때문에 프로토콜을 구성하기 난감할 때,

이 RabbitMQ는 자주 사용되는 언어들을 지원하기 때문에 형식만 맞춰준다면 통신을 좀 더 손쉽게 만들어준다.

 

2. 서버 안정성을 높여준다.

 A서버와 B서버가 있다고 가정하자. 이 A서버는 사용자의 요청을 B서버로 전달하는 기능을 가지고 있는데,

어느 날 A서버에게 많은 요청이 몰려 A서버는 B서버에게 요청을 전달하게 되고 B서버까지 부하가 걸리는 상황이 왔다.

이럴 때 중간에 메세지 큐가 있다면? B서버는 그래도 피해를 입지 않고 메세지 큐가 죽는 선에서 끝날 것이다.

 

 

설치

Windows 10 기준으로 설치하였다.

https://www.rabbitmq.com/install-windows.html#installer

위에 링크에서 다운로드하거나,

이 글이 작성된 시점의 기준 최신 버전인 3.9.16 버전을 아래 링크로 다운로드한다.

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.16/rabbitmq-server-3.9.16.exe

 

 

Erlang could not be detected.
You must install Erlang before installing RabbitMQ.
Wold you like the installer to open a broweser window to the Erlang download site?

 

 설치를 하려는데 위와 같은 경고창이 출력된다면,

선행 설치 프로그램으로 Erlang이 필요한데 Erlang이 설치되지 않은 것이므로

'예'버튼을 눌러 다운로드 사이트에서 다운로드한다.

https://www.erlang.org/downloads

 

 

실행

 설치가 완료되면 RabbitMQ 서비스가 자동적으로 실행된다.

혹시나 실행이 되지 않는다면 위와 같이 [시작] 창에서 [RabbitMQ Service - start]를 클릭하여 실행시킨다.

 

RabbitMQ Server Management Plugin

 RabbitMQ Server를 관리하려면 rabbitmqctl.bat 명령어를 사용해 커맨드 창에서

한 땀 한땀 타이핑하여 관리해줘야 하는 힘겨움이 있다. 

 

 이러한 고생을 줄여주기 위해 GUI로 RabbitMQ Server를 관리하는 플러그인을 설치&실행해보자.

 

 RabbitMQ Command Prompt를 시작 창에서 검색하여 실행하거나 위 Prompt를 찾을 수 없다면,

RabbitMQ가 설치된 경로의 sbin 디렉토리에 들어간다.

 

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.9.16\sbin>

 다음과 같이 입력한다.

 

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.9.16\sbin>rabbitmq-plugins enable rabbitmq_management


Enabling plugins on node rabbit@cjwoov-1:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@cjwoov-1...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.


C:\Program Files\RabbitMQ Server\rabbitmq_server-3.9.16\sbin>

 

플러그인이 적용되었는지 브라우저를 실행시킨 뒤

http://localhost:15672 를 입력해서 정상적으로 동작하는지 확인한다.

 

 초기 계정은 관리자 권한을 가진 guest계정을 다음과 같이  제공한다.

Username guest
Password guest

 

 

참고 사이트

https://heodolf.tistory.com/50
반응형