CentOS 7.0 Mini에 RabbitMQ 3.6 설치

기본 개념

RabibtMQ는 느슨한 서버간 통신을 하기에 적합한 솔루션이다.

설치 후, 관리페이지를 보면, 

Connections, Channels, Exchanges, Queues, Admin이 있다.

각 항목을 간단하게 다음과 같이 이해하면 좋을 것 같다.


Connections

클라이언트의 연결 정보

 Channels

커넥션 하나 당 여러 개의 채널을 생성할 수 있다. 

 클라이언트 코딩을 하면 알겠지만, 

 채널을 매개채로 하여, 큐/익스체인지 생성과 제거, 메시지 송수신 등을 할 수 있다.

 또한, 멀티쓰레드 환경에서는 채널을 공유해 쓰지 말고, 각 쓰레드가 고유하게 채널을 사용해야 한다.

 Exchange

 메시지 태그(아이디)별로 큐를 다르게 또는 여러 개 지정할 수 있다.

 클라이언트 코딩에서 메시지와 메시지 태그를 지정해 익스체인지로 보내게 된다.

 Queue

 메시지가 순서대로 쌓이고 빠져나가는 걸 보장하는 자료구조.

 클라이언트가 큐에 메시지가 들어오면 수신할 수 있도록 구독자 정보를 가지고 있다.

 클라이언트 코딩에서 메시지를 큐로 직접 보낼 수 있다.

 Admin

 유저의 권한 설정


Erlang 설치

$ wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm $ rpm -Uvh erlang-solutions-1.0-1.noarch.rpm $ yum install erlang -y

RabbitMQ 설치

$ wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm $ yum install rabbitmq-server-3.6.1-1.noarch.rpm -y # 리부팅 되어도 자동으로 실행되도록 서비스에 등록해 두자. $ chkconfig rabbitmq-server on

관리자 페이지를 들어갈 수 있도록 설정

$ rabbitmq-plugins enable rabbitmq_management $ service rabbitmq-server restart # 기본 계정인 guest/guest 는 로컬호스트에서만 접속 가능하므로, 새로운 계정을 추가해 외부에서도 접속할 수 있게 한다. # 신규 관리자 계정 추가 $ rabbitmqctl add_user admin 1212 # 계정 제거 rabbitmqctl delete_user admin $ rabbitmqctl set_user_tags admin administrator # 관리자 사이트에 접속 http://localhost:15672/


관리자 사이트에 접속해 생성한 계정을 VHost 경로에 연결해야. 큐 등을 생성할 수 있다.

Admin->Users를 선택해 유저 정보를 보면, admin 계정에 VHost가 연결되어 있지 않다.







계정을 클릭해 VHost 경로에 연결









클러스터링 설정해보기