티스토리 뷰
RabbitMQ 설치 방법은 2가지! 소개 합니다.
* RabbitMQ - 우분투 리눅스 서버에 직접 설치
*RabbitMQ - 우분투 리눅스 서버에 도커를 이용하여 설치 방법입니다.
1. 먼저 첫번째 방법인 apt-get을 사용하여 필요한 패키지를 설치합니다.
apt-get update
#apt-get install apt-transport-https wget gnupg curl
#wget -O - https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | apt-key add -
RabbitMQ 리포지토리 키를 다운로드하여 설치합니다.

echo "deb https://dl.bintray.com/rabbitmq/debian bionic main" > /etc/apt/sources.list.d/rabbitmq.list
APT-GET 데이터베이스를 업데이트하고 RabbitMQ 패키지를 설치합니다.
apt-get update
apt-get install rabbitmq-server

RabbitMQ 서비스가 자동으로 시작하도록 구성
systemctl enable rabbitmq-server
RabbitMQ 서비스를 시작합니다.
systemctl start rabbitmq-server

NETSTAT 명령을 사용하여 포트 5672 및 25672에서 서비스가 실행되고 있는지 확인합니다.
netstat -nl | grep -E -i "proto|5672"
이 예제에서는 RabbitMQ 서비스가 포트 5672 및 25672에서 실행되고 있습니다.

rabbitmqctl add_user admin tommypagy123

rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
이 예제에서는 tommypagy123을 사용하여 관리자라는 계정을 만들었습니다.
필요한 RabbitMQ 플러그인을 사용하십시오.
rabbitmq-plugins enable rabbitmq_management

2. 두번째 방법인 도커를 이용하여 설치 하는 방법도 있습니다.
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --restart=unless-stopped -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management


* ps -ef | grep rabbit 조회해보면 아래와 같이 process 를 보실수 있습니다.

RabbitMQ 웹 인터페이스는 TCP 포트 15672에서 사용할 수 있습니다.
브라우저를 열고 RabbitMQ 서버의 IP 주소를 입력하고 : 15672
이 예제에서는 브라우저에 다음 URL을 입력했습니다.
• http://192.168.15.10:15672
RabbitMQ 웹 인터페이스가 표시되어야 합니다.

화면입니다.
아래 OverView 는 전체 RabbitMQ 현황을 보여줍니다.
ready 는 Queue에 쌓여 있는 메세지들의 Count 9건을 말합니다.
Unacked 0은 승인할게 없음을 의미합니다.

만약 아래와 같이 큐메세지를 확인해보면. 총 8건 중 / Ready : 5 , Unacked : 3개 인경우
미확인 건수가 3건임을 알수 있습니다.
1. Consumer는 더이상 메세지를 받지 못하는 상황
2. Queue는 Unacked 데이터 공간만 차지 하고 있음.


Consumer 연결된 Connection이 강제로 끊으면 데이터를 다시 큐로 돌아옵니다.
이렇게 RabbitMQ는 데이터 손실을 막고, 승인을 받지 못한 데이터는 아직 처리되지 않은걸로
간주해서 다시 큐에 입력합니다. 그리고 워커거 이걸 실행합니다.
여기서 승인절차 매우 중요하며, 일단 승인을 안해주면 consumer는 대기상태로 머무르게 됩니다.
하지만 더 문제가 될 수 있는건 consumer가 승인을 보내지 않고 커넥션을 끊은후 다시 접속하는 경우이다.
이 경우 그 경우 데이터는 복구 되기 위해서 다시 큐에 적재되는데 이 경우 이미 처리한데이터를 2중처리 되기
때문에 승인절차는 반드시 필요합니다.
Connections 은.. consumer list를 보여주게 됩니다.

Channels 은 consumer list를 보여주게 됩니다.

Exchanges 화면입니다. 아래 화면에서 Add a new exchange 를 클릭하고 name 을 설정하면 Exchanges 추가 생성할수 있으며, 옵션(type : direct, fanout, headers, topic) 으로 Exchange 타입을 선택하여 생성이 가능합니다.


Queues 상태를 확인 할수 있으며, Reday 3건 씩 있음을 확인할수 있습니다.

















RabbitMQ conf 파일 channel_max = 설정!
echo "channel_max = 10000" >> /etc/rabbitmq/rabbitmq.conf

- Total
- Today
- Yesterday
- 앤시블
- directory copy 후 startup 에러
- 트리이스
- 오라클
- 튜닝
- ubuntu
- 테라폼
- MSA
- 여러서버 컨트롤
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- (InstantClient) 설치하기(HP-UX)
- [오라클 튜닝] instance 튜닝2
- 쿠버네티스
- 설치하기(HP-UX)
- 우분투
- Oracle
- 커널
- 5.4.0.1072
- [오라클 튜닝] sql 튜닝
- 스토리지 클레스
- 코로나19
- pod 상태
- 키알리
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- startup 에러
- 오라클 홈디렉토리 copy 후 startup 에러
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- CVE 취약점 점검
- K8s
- 버쳐박스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |