- Jakie wiadomości można przechowywać w kolejkach RabbitMQ? Tylko ciągi? Czy mogę wybrać typ, który chcę zapisać: int, binarny, ciąg itp.?
- Jaki jest maksymalny rozmiar jednej wiadomości?
- Ile kolejek lub wymian można utworzyć? Czy to zależy od mocy serwera?
Odpowiedz
Teoretycznie wszystko można przechowywać/wysyłane w postaci wiadomości. W rzeczywistości nie chcesz przechowywać niczego w kolejkach. System działa najskuteczniej, jeśli kolejki są puste przez większość czasu. Można wysłać cokolwiek chcesz do kolejki z dwóch warunków:
- Rzecz wysyłasz może być przekształcony do iz bytestring
- Konsument dokładnie wie co robi i jak konwertować go do oryginalny obiekt
Struny są dość proste, mają wbudowaną metodę konwersji do iz bajtów. Jeśli wiesz, że to ciąg znaków, to wiesz, jak go przekonwertować. Najlepszą opcją jest użycie łańcucha znaczników, takiego jak XML, JSON lub YML. W ten sposób możesz konwertować obiekty na łańcuchy i z powrotem do oryginalnych obiektów; działają w językach programowania, dzięki czemu konsument może być napisany w innym języku niż producent, o ile wie, jak rozumieć dany 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 komunikatu ma dwie dodatkowe metody, które konwertują do i z bajttreamu. Używam kluczy routingu, które nie pozostawiają wątpliwości co do rodzaju wiadomości, którą otrzymuje konsument. Wiadomość jest Serializable. Działa to dobrze, ale jest ograniczone, ponieważ mogę go używać tylko z innymi programami Java.
Rozmiar wiadomości jest ograniczony przez pamięć na serwerze, a jeśli jest trwała, to również wolna przestrzeń HDD. Prawdopodobnie nie chcesz wysyłać wiadomości, które są zbyt duże; lepiej wysłać referencję do pliku lub DB.
kupili także przeczytać na ich mierników wyników: 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/
Kolejki są dość lekki ciężar, to najprawdopodobniej będzie ograniczony przez liczbę połączeń masz. To zależy od serwera najprawdopodobniej. Oto kilka informacji na podobne pytanie: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2009-February/003042.html
Zobacz robthewolf's answer.
Maksymalny rozmiar wiadomości to 2 GB, jednak dostosowanie wydajności wiadomości o tym rozmiarze nie jest skuteczne. Max Message Size
Nie ma twardego ograniczenia narzuconego przez RabbitMQ Server Software na liczbę kolejek, jednak sprzęt, na którym działa serwer, może bardzo dobrze wpłynąć na ten limit.
3a.Domyślnie serwer nie określa limitu długości kolejki. Można jednak ograniczyć to poprzez politykę po stronie serwera (konfiguracja) lub zasady po stronie klienta. Max Queue Length
Istnieje więcej informacji i linków na temat related post.
- 1. RabbitMQ 3.5 i Priorytet wiadomości
- 2. RabbitMQ wiadomości kolejek
- 3. Jak ładować wiadomości w RabbitMQ
- 4. Sprawdź rozmiar kolejki RabbitMQ od klienta
- 5. Znaczek czasu przybycia wiadomości Rabbitmq
- 6. Dwa typy wiadomości w kolejce wiadomości
- 7. Dead letter exchange RabbitMQ upuszczanie wiadomości
- 8. RabbitMQ - wybiórcze pobieranie wiadomości z kolejki
- 9. Uzyskiwanie liczby wiadomości w kolejce RabbitMQ
- 10. Sterownik RabbitMQ C# przestaje odbierać wiadomości
- 11. Zużywające nie potwierdzam wiadomości od RabbitMq
- 12. Publikowanie wielu wiadomości do RabbitMQ z pliku
- 13. RabbitMQ słucha tylko pierwszej wiadomości w kolejce
- 14. RabbitMQ - Uzyskaj całkowitą liczbę wiadomości zaksięgowanych
- 15. WCF Maksymalny rozmiar wiadomości Kontyngent
- 16. RabbitMQ i autoryzacja
- 17. Typy klas i typy zależne
- 18. Wymiana tematów RabbitMQ i round robin
- 19. WCF - przekroczono maksymalny rozmiar wiadomości dla wiadomości przychodzących
- 20. Jak korzystać z nagłówków wiadomości w kliencie RabbitMQ firmy Erlang?
- 21. Jak poprawnie uzyskać wszystkie wiadomości kolejki z RabbitMQ na wiosnę?
- 22. node-amqp nie może wysłać wiadomości do RabbitMQ
- 23. Wysyłanie drugiej wiadomości po potwierdzeniu pierwszego. Czy RabbitMQ gwarantuje zamówienie?
- 24. Spring AMQP/RabbitMQ i Hibernate Transaction Mananger
- 25. RabbitMQ wstrzymać zużycie kolejki
- 26. RabbitMQ jak dławić konsumenta
- 27. RabbitMQ z WCF i stałą kolejką
- 28. Kolejka RabbitMQ peeking
- 29. Wiosna/RabbitMQ: zarządzanie transakcjami
- 30. Jaki jest maksymalny rozmiar wiadomości SockJS?