Отправка файлов через RabbitMQ

Стоит ли отправлять файлы размером около 1 Мб через RabbitMQ? Я хочу отправить сообщение в формате json с двоичными полями, соответствующими файлам.

И как это правильно сделать с помощью spring-amqp? Просто опубликовав объект со следующим классом?

class Message {
    String field1;
    byte[] fileField1;
    byte[] fileField2;
}

person Nawa    schedule 27.11.2014    source источник
comment
Читайте здесь groups.google.com/forum/#!topic/rabbitmq- обсудить/ZYsqJt422cQ   -  person Gabriele Santomaggio    schedule 27.11.2014
comment
возможный дубликат Отправка двоичного файла через RabbitMQ, см. также stackoverflow.com/questions /22842096/   -  person pinepain    schedule 28.11.2014


Ответы (1)


Я бы посоветовал не только читать те ссылки, которые были опубликованы, но и проводить собственные эксперименты. Меня больше всего беспокоит производительность на уровне обслуживания и на уровне клиента.

Возможно, вы захотите рассмотреть возможность размещения файлов/данных на сервере и разрешить rabbitmq просто отправлять сообщение потребителю с идентификатором сообщения в нем. Поэтому, когда ваш потребитель получает сообщение, он отправляет HTTP-запрос GET службе, которая запрашивает фактическую полезную нагрузку сообщения. Таким образом, RabbitMQ остается легковесным. Вы всегда можете добавить потребителей и серверы, если вам нужно.

Это мое мнение без экспериментов. Вы можете обнаружить, что он по-прежнему быстро разряжается с полезной нагрузкой 1 МБ. Вот почему я бы сказал, чтобы экспериментировать и выяснить для себя.

Надеюсь, вы найдете это полезным!

person Josh Chappelle    schedule 24.02.2015