Rozmiar i typy wiadomości RabbitMQ

  1. Jakie wiadomości mogą być przechowywane w kolejkach RabbitMQ? Tylko sznurki? Albo Mogę wybrać, jaki typ chcę przechowywać: int, binary, string itp.?
  2. Jaki jest maksymalny rozmiar jednej wiadomości?
  3. Ile kolejek lub giełd można utworzyć? Czy zależy to od mocy serwera?
Author: Benjamin, 2013-08-21

2 answers

  1. Teoretycznie wszystko może być zapisane/wysłane jako wiadomość. Właściwie nie chcesz niczego przechowywać w kolejkach. System działa najefektywniej, jeśli kolejki są puste przez większość czasu. Możesz wysłać wszystko, co chcesz do kolejki z dwoma warunkami wstępnymi:

    • rzecz, którą wysyłasz, może zostać przekonwertowana na i z bajtstringu
    • Konsument dokładnie wie, co otrzymuje i jak przekonwertować na oryginał obiekt

  2. Ciągi są dość proste, mają wbudowaną metodę konwersji do i z bajtów. Jeśli wiesz, że jest to ciąg znaków, to wiesz, jak go przekonwertować. Najlepszą opcją jest użycie ciągu znaczników, takiego jak XML, JSON lub YML. W ten sposób można konwertować obiekty na ciągi znaków i z powrotem do oryginalnych obiektów; działają one w różnych językach programowania, więc konsument może być napisany w innym języku niż producent, o ile wie, jak zrozumieć obiekt. Pracuję w Javie. Chcę wysyłać złożone wiadomości z obiektami podrzędnymi w polach. Używam własnego obiektu wiadomości. Obiekt message posiada dwie dodatkowe metody toBytes i fromBytes, które konwertują do i z bajtowego strumienia. Używam kluczy routingu, które nie pozostawiają wątpliwości, jaki rodzaj wiadomości odbiera konsument. Wiadomość jest Serializowalna. Działa to dobrze, ale ogranicza, ponieważ mogę go używać tylko z innymi programami Java.

  3. Rozmiar wiadomości jest ograniczony pamięcią na serwerze, a jeśli jest trwały, to także wolne miejsce na dysku twardym. Prawdopodobnie nie chcesz wysyłać wiadomości, które są zbyt duże; może lepiej wysłać odniesienie do pliku lub DB.

    Możesz również przeczytać o ich miarach wydajności: 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/

  4. Kolejki są dość lekkie waga, najprawdopodobniej będzie ograniczona przez liczbę połączeń masz. Najprawdopodobniej będzie to zależało od serwera. Oto kilka informacji na podobne pytanie: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2009-February/003042.html

 94
Author: robthewolf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-04 11:22:04
  1. Zobacz odpowiedź robthewolfa .

  2. Maksymalny rozmiar wiadomości to 2 GB, jednak dostrajanie wydajności dla wiadomości o tej wielkości nie jest skuteczne. Maksymalny Rozmiar Wiadomości

  3. Nie ma twardego limitu nałożonego przez oprogramowanie serwera RabbitMQ na liczbę kolejek, jednak sprzęt, na którym działa serwer, może bardzo dobrze wpłynąć na ten limit.

3A.serwer domyślnie nie nakłada limitu długości kolejki. Można jednak, ogranicz to poprzez politykę po stronie serwera (konfiguracja) lub Politykę po stronie klienta. Maksymalna Długość Kolejki

Jest więcej informacji i linków na Podobne post .

 2
Author: Jerod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-02 18:29:58