10

RabbitMQ キューには AWS SQS のような「メッセージ可視性タイムアウト」がありますか?

AWS SQS のドキュメントから:

「Amazon SQS がメッセージを返すと、可視性タイムアウト クロックが刻み始めます。その間、コンポーネントはメッセージを処理して削除します。しかし、メッセージを削除する前にコンポーネントが失敗した場合はどうなりますか? システムがそのメッセージに対して DeleteMessage を呼び出す前に、可視性タイムアウトが期限切れになると、システム内のコンポーネントによって配置された ReceiveMessage 呼び出しに対してメッセージが再び可視になり、再び受信されます。」

ありがとう!

4

3 に答える 3

5

RabbitMQ の手動承認機能を探していると思います。この機能を使用すると、キューからメッセージを取得し、受信したら確認応答することができます。このプロセスの途中で何かが発生した場合、メッセージは一定時間後にキューで再び利用可能になります。また、その間、確認応答するまでメッセージを取得するため、他のコンシューマーがメッセージを利用することはできません。

これは SQS の Message Visibility Timeout と同じ挙動だと思います。

于 2013-10-17T01:14:15.360 に答える
3

メッセージのタイムアウトはありません。RabbitMQ は、ワーカー接続が切断された場合にのみメッセージを再配信します。メッセージの処理に非常に長い時間がかかる場合でも問題ありません。メッセージのタイムアウトはありません。RabbitMQ は、ワーカー接続が切断された場合にのみメッセージを再配信します。メッセージの処理に非常に長い時間がかかっても問題ありません。

于 2016-10-04T17:59:05.930 に答える