Размер и типы сообщений RabbitMQ




  1. какие сообщения могут храниться в очередях RabbitMQ? Только струны? Или я могу выбрать, какой тип я хочу сохранить: int, binary, string и т. д.?

  2. каков максимальный размер одного сообщения?

  3. сколько очередей или обменов может быть создано? Или это зависит от мощности сервера?

1038   2  

2 ответов:

  1. теоретически все может быть сохранено / отправлено в виде сообщения. Вы на самом деле не хотите ничего хранить в очередях. Система работает наиболее эффективно, если очереди большую часть времени пусты. Вы можете отправить все, что вы хотите в очередь с двумя предварительными условиями:

    • вещь, которую вы отправляете может быть преобразован в bytestring
    • потребитель точно знает, что он получает и как преобразовать его в оригинал объект

    строки довольно просты, они имеют встроенный метод для преобразования в и из байтов. Если вы знаете, что это строка, то вы знаете, как превратить его обратно. Лучше всего использовать строку разметки, например XML, JSON или YML. Таким образом, вы можете конвертировать объекты в строки и обратно в исходные объекты; они работают на разных языках программирования, поэтому ваш потребитель может быть написан на другом языке для вашего производителя, если он знает, как это сделать понять объект. Я работаю на Java. Я хочу отправлять сложные сообщения с подобъектами в полях. Я использую свой собственный объект сообщения. Объект message имеет два дополнительных метода toBytes и fromBytes что преобразования байтового потока. Я использую ключи маршрутизации, которые не оставляют сомнений в том, какой тип сообщения получает потребитель. Сообщение является Сериализуемым. Это прекрасно работает, но ограничивает, поскольку я могу использовать его только с другими программами Java.

  2. размер сообщение ограничено памятью на сервере, и если оно постоянно, то и свободное место на жестком диске тоже. Вы, вероятно, не хотите отправлять слишком большие сообщения; возможно, лучше отправить ссылку на файл или БД.

    вы также можете прочитать об их производительности меры: 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/

  3. очереди довольно легкий вес, вы, скорее всего, будет ограничено количество подключений у вас. Скорее всего, это будет зависеть от сервера. Вот некоторая информация о подобном вопрос: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2009-February/003042.html

  1. посмотреть robthewolf это.

  2. максимальный размер сообщения составляет 2 ГБ, однако настройка производительности для сообщений такого размера не эффективна. Максимальный Размер Сообщения

  3. нет жесткого ограничения, наложенного программным обеспечением RabbitMQ Server на количество очередей, однако аппаратное обеспечение, на котором работает сервер, может очень хорошо повлиять на это ограничение.

3а. Нет ограничения длины очереди наложено сервером по умолчанию. Однако вы можете ограничить это с помощью политики на стороне сервера (конфигурация) или политики на стороне клиента. Максимальная Длина Очереди

больше информации и ссылки на похожие статьи.

Comments

    Ничего не найдено.