私は、コンシューマとプロデューサがサーバに2000個のメッセージを送信する際にACKを有効にしました。私が見るものは、約1700のメッセージが消費者に届いただけです。誰かが間違っていることを伝えることができますrabbitmq-c消費者がすべてのメッセージを受信しない
私はRabbitMQの-Cライブラリから提供された例のコードを実行しています
./amqp_producerのlocalhostの5672 1000年
千ミリ秒:1000送信された - 最後のレポート(999ヘルツ)以来、1000 PRODUCER - メッセージ数:2000 合計時間(ミリ秒):2001 全体のメッセージ毎秒:999.083
ルート@ CE-ブラジャー-MX240-E:/usr/sbin/rabbitmq_server-3.6.6#sbinに/ rabbitmqctl list_connections send_cnt 上場接続を。 .. ルートの@ CE-ブラジャー-MX240-E:/usr/sbin/rabbitmq_server-3.6.6#sbinに/ rabbitmqctl list_channels messages_unacknowledged 上場チャンネル... #の./amqp_consumerのlocalhostの5672 3275ミリ秒:1を受信 - 最後のレポート(0 Hz)以来1 3275 ms:最後のレポート(1919 Hz)から2 - 1を受信 3277 ms:最後のレポート(656 Hz)から3 - 1を受信 4001 ms:最後のレポート以降727 - 724を受信しました(999 Hz) 5000 ms:最後のレポート(1001 Hz)以来1727 - 1000を受信
2000年のうち1727だけが消費者で受信されます。消費者は、no-ackフラグを0に設定しています。
これを正解とマークしてください。どうも! – cantSleepNow