2017-05-10 11 views
0

microservices 사이의 통신에는 rabbitmq을 사용하고 있습니다. 각 서비스는 topic에 가입합니다. 모든 서비스는 scaled이며 필요에 따라 여러 인스턴스로 실행됩니다. 가입시RabbitMQ 구독은 미리 가져올 메시지 수를 제한합니다.

bunny 이동 unacked 상태로 큐 all the messages. ready 상태에 메시지가 없으므로 다른 크기 조정 된 인스턴스가 유휴 상태가됩니다.

다른 인스턴스가 큐에서 나머지 메시지를 가져올 수 있도록 구독에서 가져올 수있는 메시지 수를 제한하는 방법이 있습니까?

답변

1

사용할 수있는 정보를 바탕으로 rubybunny을 사용하고 있다고 가정합니다. 이 가정이 틀린 경우 (rabbitmq에서 사용 가능한 다른 루비 클라이언트가 있음) 알려 주시고 클라이언트 관련 문서를 확인하십시오. 다수의 소비자가 큐를 공유 할 때 경우에

, 각 소비자가 보낼 수있는 메시지 수를 지정할 수 있을 유용

돌아 가기 rubybunny에, 링크를 인용, 필요한 정보에 포인트를 제공 즉시 다음 확인을 보내기 전에 .

AMQP 0.9.1에서는 QoS 또는 메시지 프리 페치라고합니다. 프리 페칭은 채널별로 구성됩니다. 은 버니 :: 채널 # 프리 페치 방법과 같이 프리 페치 사용을 구성하려면 :

ch1 = connection1.create_channel 
ch1.prefetch(10) 
+0

그것을 맞았다. 감사. 나는 이것을 정확히 찾고 있었다. – Muthukumar