Wenn der RabbitMQ-Broker einen Fanout-Austausch mit vielen daran gebundenen Warteschlangen hat, die Warteschlangen dauerhaft sind und die an die Exchange ausgelieferten Nachrichten dauerhaft sind, wird in jeder Warteschlange eine separate Warteschlange gespeichert Kopieren für die Nachricht oder den Broker kann in der Lage sein, in die Warteschlange gestellte Nachrichtenpersistenz zu ermitteln und zu optimieren und die Nutzdaten nicht mehrfach für jede Warteschlange im Fan-Out zu speichern, sondern etwa Nachrichtenverbindungen/Referenzen speichern?RabbitMQ Warteschlangenspeicherplatznutzung im Fanout-Austauschszenario
Antwort
Es hängt von der Größe der Nachricht ab. Bei Persistenz hat jede dauerhafte Warteschlange, die eine Nachricht empfängt, einen Warteschlangenindex, der auf diese Nachricht verweist. Größere Nachrichten (standardmäßig> = 4K) werden in den Nachrichtenspeicher geschrieben und vom Warteschlangenindex referenziert. Daher hat jede an Ihren Fanout-Austausch gebundene Warteschlange einen Warteschlangenindex für die Nachricht, aber nur eine Kopie der Nachrichtennutzlast befindet sich im Nachrichtenspeicher.
Kleinere Nachrichten werden vollständig innerhalb des Warteschlangenindexes ohne Eintrag im Nachrichtenspeicher gespeichert. Wenn Ihr Fanout-Austausch eine kleine Nachricht empfängt, hat jede gebundene Warteschlange ihre eigene Kopie der gesamten Nachricht.
Eine gute Erklärung der RabbitMQ Nachrichtenpersistenz finden Sie unter https://www.rabbitmq.com/persistence-conf.html.
- 1. RabbitMQ Verbindung im blockierenden Zustand?
- 2. Proxy im Rabbitmq Java Client
- 3. Was mit RabbitMQ im Frühjahr Stiefel falsch
- 4. Umgang mit Verbindungen im Frühjahr-Boot-RabbitMQ
- 5. RabbitMQ nicht
- 6. RabbitMQ set_permissions Syntax noob
- 7. Wie Routing Schlüssel dynamisch im Frühjahr xd angeben, für RabbitMQ
- 8. Wie man php-amqplib rabbitMQ im Webbrowser verwendet
- 9. RabbitMQ Cluster im Docker Container unter verschiedenen Hosts
- 10. Wie im Frühling Benutzerobjekt dynamisch zu erhöhen amqp (rabbitmq)
- 11. RabbitMQ Benutzererlaubnis Format
- 12. RabbitMQ: Nachrichten bleiben "Unbestätigt"
- 13. php rabbitmq Verbraucher wiederverbinden
- 14. RabbitMQ badmatch Fehler
- 15. RabbitMQ Consumer-Verbindung zu rabbitMQ in https-Domäne
- 16. Verzögerte Nachricht in RabbitMQ
- 17. RabbitMQ mit nodejs
- 18. RabbitMQ Client Lastenausgleich
- 19. Passing URI RabbitMQ
- 20. Rabbitmq Exchange Fanout Probleme
- 21. RabbitMQ: direkte Antwort auf?
- 22. Phusion Passagier + Workling + RabbitMQ
- 23. rabbitmq-plugins.bat aktivieren rabbitmq_management
- 24. RabbitMQ Befehl existiert nicht?
- 25. RabbitMQ-Server-Verbindungen zulassen
- 26. RabbitMQ Management Plugin Webserver
- 27. RabbitMQ Authentifizierung ohne Passwort
- 28. RabbitMQ 3.5 und Nachrichtenpriorität
- 29. RabbitMQ + TLS: ssl_upgrade_error
- 30. Rabbitmq Serververbindung abrupt schließen