2017-05-07 16 views
0

デキューしたいメッセージがある場合は、デキューした直後に別のキューに別のメッセージをキューしたい場合があります。私は同じトランザクションでこれをすべてやりたいこれはrabbitmqやその他のキューイングサービスで可能ですか?デキューと同じトランザクションでキューに入れることは可能ですか?

+0

何の条件に基づいてメッセージをデキュー?期限切れになると、自動的にDLXに移行します。これに代わる方法として、メッセージのキューイング方法を変更したい場合は、erlangプラグインを作成することができます。 – lambodar

答えて

1

あなたがRabbitMQので欲しいものを得ることができる最も近いです:

使用acks and publisher confirms

  • あなたがメッセージを受信しackそれをしないでください。
  • 返信メッセージを送信します。
  • ブローカーからconfirmを待ちます。
  • confirmが到着した後は、ack初期メッセージ。

しかし、その後、この障害の状況を考慮してください。

  • 初期メッセージ受信

  • 応答メッセージ送信し

  • あなたのサービスは、最初のメッセージを肯定応答(ACK)する前に失敗した

  • ときあなたのサービスは戻って、それはiniを受け取るTiAlのメッセージが再び

だから、あなたには、いくつかの重複排除のメカニズムを使用する必要がありますなど

関連する問題