- Welche Nachrichten gespeichert werden können in RabbitMQ-Warteschlangen? Nur strings? Oder kann ich auswählen, welche Art möchte ich speichern: int, binary, string, etc..?
- Was ist die maximale Größe für eine Nachricht?
- Wie viele Warteschlangen oder Umtausch erstellt werden könnte? Oder kommt es auf den server macht?
InformationsquelleAutor der Frage tuchk4 | 2013-08-21
Theoretisch alles kann gespeichert/verschickt eine Nachricht. Sie wollen eigentlich gar nichts speichern, alles auf die Warteschlangen. Das system funktioniert am effizientesten, wenn die Warteschlangen leer sind die meisten der Zeit. Sie können senden, was Sie wollen, um die Warteschlange mit zwei Voraussetzungen:
Saiten sind ziemlich einfach, Sie haben eine eingebaute Methode für die Konvertierung in und aus Byte. Wenn Sie wissen, es ist ein string, dann wissen Sie, wie es zu konvertieren zurück. Die beste option ist die Verwendung einer markup-Zeichenfolge, wie XML -, JSON-oder YML. Auf diese Weise können Sie konvertieren von Objekten in Strings und wieder zurück auf die original-Objekte; Sie arbeiten über Programmier-Sprachen, so dass Ihre Verbraucher geschrieben werden können in einer anderen Sprache zu Ihr Produzent, solange es weiß, wie es zu verstehen das Objekt.
Ich arbeite in Java. Ich will komplexe Nachrichten senden mit sub-Objekte in die Felder ein. Ich benutze meine eigene message-Objekt. Das message-Objekt hat zwei zusätzliche Methoden
toBytes
undfromBytes
- Format konvertieren und aus dem bytestream. Ich benutze routing-Tasten, lassen keinen Zweifel daran, welche Art von Nachricht, die der Verbraucher erhält. Die Nachricht ist Serializable. Dies funktioniert gut, aber ist die Begrenzung, da kann ich nur verwenden Sie es mit anderen Java-Programmen.Die Größe der Nachricht ist beschränkt durch den verfügbaren Speicher auf dem server, und wenn es persistent ist dann auch der freie Festplattenspeicher zu. Sie wahrscheinlich nicht wollen, um Nachrichten zu senden, sind zu gross; es könnte besser sein, senden Sie einen Verweis auf eine Datei oder DB.
Vielleicht wollen Sie auch zu Lesen, auf Ihre performance-Maßnahmen:
http://www.rabbitmq.com/blog/2012/04/17/rabbitmq-performance-measurements-part-1/
http://www.rabbitmq.com/blog/2012/04/25/rabbitmq-performance-measurements-part-2/
Warteschlangen sind ziemlich geringes Gewicht, Sie werden wahrscheinlich begrenzt durch die Anzahl der verbindungen, die Sie haben. Es hängt von der server wahrscheinlich. Hier mal einige Infos über eine ähnliche Frage:
http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2009-February/003042.html
InformationsquelleAutor der Antwort robthewolf
Sehen robthewolf Antwort.
Die maximale Größe ist 2GB, aber performance-tuning für Nachrichten dieser Größe ist nicht wirksam. Max Message Size
Gibt es keine harte Grenze von RabbitMQ-Server-Software auf der Anzahl von Warteschlangen, aber die hardware der server läuft sehr gut die Auswirkungen, die dies begrenzen.
3a. Es gibt keine Warteschlange-Länge beschränken, die von der server standardmäßig. Sie können jedoch, begrenzen Sie diese durch server-side-policy (Konfiguration) oder client-Seite der Politik. Max Länge Der Warteschlange
Gibt es weitere Informationen und links auf einer related post.
InformationsquelleAutor der Antwort Jerod