(Я разработчик RabbitMQ.)
Кролика, когда слегка загружен, как правило, имеет латентность порядка 100-400 микросекунд, в зависимости от таких вещей, как сетевая карта и скорость процессора. Когда загрузка становится немного тяжелее, внутренняя буферизация начинает появляться, а задержки немного повышаются. Вы можете спокойно ожидать задержки 1 мс до тех пор, пока полоса пропускания (сообщения в секунду, байт в секунду) не начнет повышаться. Естественно, латентности будут расти, как только настойчивость будет введена.
Что касается тестов, одной из самых больших проблем здесь является определение того, что важно для вашего приложения. Существуют некоторые тривиально простые примеры измерения «точка-точка» и «pub-sub latency-and-throughput», включенные в Java-клиент; спросите в списке rabbitmq-discuss, если у вас есть проблемы с ними! Они не измеряют значительную значимость для приложений реального мира, но могут помочь устранить любые проблемы, которые вы испытываете в отношении микропредприятий задержки или пропускной способности.
Наконец, в наши дни доступно много, много хороших систем обмена сообщениями с открытым исходным кодом и сообщений. В мире AMQP, помимо RabbitMQ, есть также Qpid и OpenAMQ. Есть также хорошие JMS-серверы с открытым исходным кодом, если вы можете ограничить себя Java (у многих людей есть успех с ActiveMQ). Для систем Ruby и Python возникают многочисленные легкие системы; эти системы стремятся сосредоточиться только на очереди и, как правило, не имеют гибкой возможности маршрутизации, предлагаемой AMQP.
Благодарим за ответ. Знаете ли вы, какие цифры считаются высокими для сообщений в секунду, байт в секунду? – Kimi