#go #nats.io #nats-streaming-server
#Вперед #nats.io #nats-streaming-server
Вопрос:
Я пытаюсь отправить файл с помощью службы обмена сообщениями nats. Размер файлов может отличаться. Есть ли способ отправить более 1 МБ данных в теле сообщения или, возможно, прервать и объединить тело сообщения?
Комментарии:
1. Или вы могли бы загрузить его в какое-нибудь общее хранилище и отправить к нему только ключ.
Ответ №1:
ОБНОВЛЕНИЕ 2022-09-19
Согласно документам (https://docs.nats.io/reference/faq#is-there-a-message-size-limitation-in-nats ) размер по умолчанию равен 1 М и может быть увеличен до 64 м. (также смотрите другой ответ)
УСТАРЕВШАЯ ИНФОРМАЦИЯ
Согласно часто задаваемым вопросам NATS, вы не можете отправить сообщение размером более 1 М (https://docs.nats.io/reference/faq#is-there-a-message-size-limitation-in-nats ):
У NATS действительно есть ограничение на размер сообщения, которое вводится сервером и сообщается клиенту во время настройки соединения. В настоящее время ограничение составляет 1 МБ.
Системы обмена сообщениями не должны использоваться для передачи файлов. Используйте службу распределенного хранения для хранения файлов и передачи идентификатора файла в сообщении.
Комментарии:
1. Вы можете изменить размер сообщения для nats при настройке сервера.
2. Я использую тот же метод, который вы описали, но возникают проблемы, когда файл обрабатывается несколькими службами. Пример сервиса1 загружает файл, обрабатывает, загружает обработанный файл в хранилище. служба 2 обрабатывает загрузку файла службой 1, обрабатывает, загружает файл в хранилище. Таким образом, у нас так много узких мест для простой загрузки файла. У вас есть какие-либо предложения? Спасибо.
3. Теперь ссылка разорвана. Следующая ссылка выглядит как актуальная: docs.nats.io/reference /…
Ответ №2:
Вы можете запустить Nats с файлом конфигурации, чтобы определить максимальный размер сообщений:
$ nats-server --config /path/to/nats.config
Пример файла конфигурации:
# Override message size limit (bytes):
max_payload: 100000000
Смотрите доступные варианты на https://docs.nats.io/nats-server/configuration#configuration-properties