[RabbitMQ] 서버 간 통신 메세지 큐, 설치 및 실행 - 1
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
'ETC > Others' 카테고리의 다른 글
| Confluence REST API를 활용하여 페이지 작성/수정/삭제 하기 (0) | 2024.12.05 |
|---|---|
| [Flutter] Cannot fit requested classes in a single dex file 에러 해결법 (0) | 2024.05.22 |
| [Flutter] Flutter 설치 및 기본 프로젝트 세팅 (0) | 2024.01.28 |
댓글
이 글 공유하기
다른 글
-
Confluence REST API를 활용하여 페이지 작성/수정/삭제 하기
Confluence REST API를 활용하여 페이지 작성/수정/삭제 하기
2024.12.05 -
[Flutter] Cannot fit requested classes in a single dex file 에러 해결법
[Flutter] Cannot fit requested classes in a single dex file 에러 해결법
2024.05.22 -
[Flutter] Flutter 설치 및 기본 프로젝트 세팅
[Flutter] Flutter 설치 및 기본 프로젝트 세팅
2024.01.28