70

次の 2 つのオプションがあることを理解しています。

  • "非永続"
  • "持続的に"

しかし、これは実際にはどういう意味ですか?

「非永続的」: AMQP ファブリックは、コンシューマーが存在しない場合にメッセージを配信しようとしますが、メッセージはドロップされますか?

のように「永続的」: AMQP は、消費者がそれを受け入れるまでメッセージを再試行しますか??

4

2 に答える 2

60

「持続」とマークされ、「永続」キューに配信されるメッセージは、ディスクに記録されます。永続キューは、クラッシュが発生した場合に、クラッシュ前に格納されていた永続メッセージと共に回復されます。

于 2010-03-01T14:13:57.787 に答える
19

delivery_modeAMQP では、ブローカーの再起動後にメッセージをディスクに保存するかどうかを決定します。メッセージを永続的としてマークできます-delivery_mode property = 2たとえば、PHP でメッセージを発行するときに設定します (PECL AMQP 拡張機能):

$exchange->publish($text, $routingKey, null, array('delivery_mode' => 2));

また、キューを永続的であると宣言する必要があります (または、ブローカーが停止した後に削除されます)。

$queue->setFlags(AMQP_DURABLE);
于 2012-08-23T14:40:23.843 に答える