RabbitMQ 실천 경험

2218 단어 rabbitmq

가상 호스트


RabbitMQ 서버 서비스를 여러 개의 서로 다른 응용 프로그램으로 할 수 있으며 응용 프로그램은 서로 다른 가상 호스트의 구분을 통해 메시지 논리상의 독립을 제공한다.
# 
rabbitmqctl add_vhost test
# 
rabbitmqctl delete_vhost test
# RabbitMQ 
rabbitmqctl list_vhosts

메시지 저장


RabbitMQ는 Queue의 메시지를 디스크와 RAM 두 가지로 저장합니다.디스크 방식으로 메시지 데이터가 저장됩니다.rdq 접두사로 명명된 파일에 있습니다.대부분의 경우 메시지 관련 데이터 저장은 디스크 방식을 사용하고 다른 고가용 수단이 있으면 RAM을 선택할 수 있다.메시지 지속화는Queue, Message, Exchange 세 부분과 관련된다.1. Queue 지속화는durable을true로 설정함으로써 이루어집니다.
com.rabbitmq.client.AMQP.Queue.DeclareOk queueDeclare() throws IOException;

/**
* exclusive , true 
* autoDelete , true 。
*/
com.rabbitmq.client.AMQP.Queue.DeclareOk queueDeclare(String var1, boolean var2, boolean var3, boolean var4, Map var5) throws IOException;

void queueDeclareNoWait(String var1, boolean var2, boolean var3, boolean var4, Map var5) throws IOException;

com.rabbitmq.client.AMQP.Queue.DeclareOk queueDeclarePassive(String var1) throws IOException;

2. 메시지 지속화 재부팅 후 Queue에서 보내지 않은 메시지도 계속 존재하려면 메시지 지속화를 설정해야 합니다.
/**
* BasicProperties PERSISTENT_TEXT_PLAIN , BasicProperties deliveryMode 2
*/
void basicPublish(String var1, String var2, BasicProperties var3, byte[] var4) throws IOException;

void basicPublish(String var1, String var2, boolean var3, BasicProperties var4, byte[] var5) throws IOException;

void basicPublish(String var1, String var2, boolean var3, boolean var4, BasicProperties var5, byte[] var6) throws IOException;

3. Exchange 지속화는 Exchange를 선언할 때durable 가입을 지원하는 방법을 사용하여true로 설정합니다.

메시지 신뢰성 제안


만약에 소식이 믿을 만한 배달을 확보하기 위해 생산자가 단독 채널에서 메시지 응답 대기열을 감청할 수 있다. 그러면 소비자가 메시지에 응답할 때 생산자는 소비자가 메시지를 받았는지 검증할 수 있고 일정 시간 내에 받지 못하면 다시 발송할 수 있다.상기 세 가지 모두 지속화를 설정해도 메시지 사용 과정에서 잃어버리지 않을 것을 보장할 수 없다.예를 들어 소비자가 메시지를 받았을 때 autoAck은true이지만 소비단이 처리하지 못하고 붕괴된 상황에서 메시지를 잃어버렸다.이 경우 autoAck를false로 설정하고 소비 논리가 완성된 후에 수동으로 확인해야 한다.

통로


가능한 한 하나의 연결에 여러 개의 채널을 만들어서 라인이 하나의 채널을 공유하는 것을 피한다.

총결산


RabbitMQ의 가장 큰 장점은 비교적 유연한 메시지 루트 정책, 고가용성, 신뢰성, 풍부한 플러그인을 제공하는 데 있다. 그러나 AMQP 프로토콜 자체가 비교적 무게를 실현하기 때문에 처리량에 있어서 하위권에 처하게 된다.

좋은 웹페이지 즐겨찾기