Потребитель rabbitmq-c не получает все сообщения
Я включил ACK для потребителя и производителя, отправляющего 2000 сообщений на сервер. Я вижу только около 1700 сообщений, полученных на потребителя. Может кто-нибудь сказать, что не так?
Я запускаю предоставленный пример кода из библиотеки rabbitmq-c
./amqp_producer localhost 5672 1000
1000 мс: отправлено 1000 - 1000 с момента последнего отчета (999 Гц) ПРОИЗВОДИТЕЛЬ - Количество сообщений: 2000 Общее время, миллисекунды: 2001 Общее количество сообщений в секунду: 999,083
root @ ce-bras-mx240-e: /usr/sbin/rabbitmq_server-3.6.6 # sbin / rabbitmqctl list_connections send_cnt Список соединений... 2007 root@ce-bras-mx240-e:/usr/sbin/rabbitmq_server-3.6.6 # sbin/rabbitmqctl list_channels messages_unacknowledged Список каналов... 0 # ./amqp_consumer localhost 5672 3275 мс: получено 1 - 1 с момента последнего отчета (0 Гц) 3275 мс: получено 2 - 1 с момента последнего отчета (1919 Гц) 3277 мс: Получено 3 - 1 с момента последнего отчета (656 Гц) 4001 мс: получено 727 - 724 с момента последнего отчета (999 Гц) 5000 мс: получено 1727 - 1000 с момента последнего отчета (1001 Гц)
Только 1727 из 2000 получены на потребителя. У потребителя флаг no-ack установлен в 0.
1 ответ
Это была проблема отображения. Была ошибка при отображении сводки из amqp_consumer.cc в предоставленной библиотеке, которая увеличивала временную метку для неправильного сбора следующей сводки.