RabbitMQ: Was ist der Standardwert für x-message-ttl?

8

Ich konnte in der RabbitMQ-Dokumentation den Standard-x-message-ttl-Wert nicht finden, der mit der Installation mitgeliefert wird.

Ich weiß, wie ich es auf einen gewünschten Wert einstellen kann, aber ich bin neugierig, den Standardwert zu kennen.

    
Martin Chen 25.07.2014, 00:30
quelle

1 Antwort

16

Es ist kein x-message-ttl -Argument standardmäßig auf der Brokerseite gesetzt, daher können Sie den Standardwert grundsätzlich als unendlich interpretieren.

Wenn Sie eine Nachricht veröffentlichen, ohne dass ttl in die Warteschlange gestellt wird, ohne dass ttl gesetzt ist (yupp, gibt es ttl-Argumente pro Nachricht und pro Warteschlange, siehe Hinweis unten):

  • Wenn die Nachricht als persistent veröffentlicht wird und die Warteschlange als persistente Nachricht deklariert wird, bleibt sie in der Warteschlange, solange sie nicht konsumiert wird;

  • Wenn die Nachricht nicht als persistent veröffentlicht wurde oder die Warteschlange nicht als persistent deklariert wurde, bleibt die Nachricht in der Warteschlange, solange sie nicht konsumiert wird oder bis der Broker neu gestartet wird.

TTL-Hinweis:

Wenn sowohl der Pro-Message- als auch der Per-Queue-ttl-Set-Broker den minimalen Wert verwendet. Wenn z. B. pro Nachricht ttl 10000 (10 Sek.) Und pro Warteschlange ttl 20000 (20 Sek.) Ist, wird pro Nachricht ttl angewendet.

TTL-Hinweis pro Nachricht:

Nachrichten mit abgelaufenem TTL verbleiben in der Warteschlange, solange sie den Warteschlangenkopf nicht erreicht haben. Mach dir keine Sorgen, sie werden nicht zum Verbraucher geschickt, aber sie werden einige Ressourcen nehmen, bis sie den Kopf erreichen. So funktionieren RabbitMQ-Warteschlangen (sie halten sich an die FIFO-Idee, die manchmal die strikte Kompatibilität mit dem AMQP-Protokoll verletzt). Weitere Informationen finden Sie im Abschnitt Einschränkungen in Time-To-Live-Erweiterungen .

    
pinepain 25.07.2014, 06:23
quelle

Tags und Links