Przede wszystkim musisz zrozumieć, które elementy na liście mają limity skalowania, które możesz trafić, a które nie. Niektóre z nich zależą od implementacji, więc pomaga czytać na temat elementów wewnętrznych, na przykład książka RabbitMQ w akcji.
Liczba kolejek jest ograniczona przez pamięć RAM. Z drugiej strony liczba wiadomości w grze nie jest ograniczona przez pamięć RAM, ponieważ RabbitMQ automatycznie wysyła je na dysk. Kiedyś przypadkowo dostałem prawie 8 milionów wiadomości w grze na serwerze programistycznym, kiedy nie zwracałem uwagi.
Nie ma również ograniczeń co do wielkości wiadomości, ale naprawdę powinieneś pomyśleć dwa razy, jeśli rozmiar pojedynczej wiadomości przekracza 512 KB. W końcu użyłem pamięci podręcznej do przesyłania dużych obiektów między aplikacjami i wysyłałem tylko mniejsze komunikaty kontrolne, które zawierały klucz memcache. Ale jeśli naprawdę chcesz, możesz wysyłać jako wiadomości ogromne pliki JPEG i obiekty binarne, takie jak pliki JAR.
Liczba subskrybentów jest ograniczeniem systemu operacyjnego, ponieważ subskrybent potrzebuje co najmniej jednego otwartego gniazda TCP. Oczywiście można to regulować w większości systemów operacyjnych, więc twój przebieg będzie się różnił i dlatego musisz przetestować swój model. Korzystam z JMETERA, aby załadować test naszych aplikacji internetowych i właśnie odkryłem tę wtyczkę AMQP https://github.com/jlavallee/JMeter-Rabbit-AMQP, ale jeszcze jej nie używałem. W każdym razie jest to rodzaj testu, który szybko powie ci, co twój sprzęt (lub konfiguracja VM) racjonalnie poradzi.
Jedyną trudną rzeczą jest testowanie dużej liczby klientów w kolejkach fanout. Zamiast tego możesz również porównać za pomocą wymiany tematów, z konsumentami subskrybującymi przy użyciu klucza powiązania z symbolem wieloznacznym (*), który osiąga ten sam efekt końcowy. Spróbuj uruchomić ten test na jak największej liczbie różnych komputerów, aby upewnić się, że nie napotykasz wąskiego gardła spowodowanego przez jeden serwer z uruchomionymi procesami konsumenckimi. PS, jak wygląda wtyczka Jmeter, może być również przydatna do symulacji konsumentów.