0

RabbitMQ/AMQP についての私の理解に基づくと、残念なトレードオフが見られます。

通常のワークフローは次のとおりです。

  1. プロデューサーがプロデュース
  2. 消費者に配送するキュー
  3. コンシューマーが ack し、ack までそれ以上のタスクを受け取らない
  4. キューはメッセージ処理が完了したと見なします

つまり、問題は ack が 2 つのことを組み合わせていることです。「私はもっと多くの仕事を受け入れることができます」ということと、「この仕事は終わった」ということです。問題は!私のコンシューマ マシンは、50 のタスクを並行して処理するようにプロファイルされており、各タスクには最大約 30 秒かかります。ただし、1 つのタスクが停止または失敗した場合は、再配信する必要があります。これを達成する方法は?

4

1 に答える 1