Как рассчитать размер загрузки Fibre с учётом лимита JSON-RPC

Блоб может укладываться в ограничения Fibre и превысить лимит узла JSON-RPC после кодирования Base64. Измеряйте сериализованное тело запроса для выбранного транспорта.

Учтите расширение Base64

Ровно 12 МиБ бинарных данных превращаются в 16 МиБ Base64 ещё до имени метода, синтаксиса JSON и остальных аргументов. При документированном лимите узла в 16 МиБ запрос уже слишком велик. Считайте байты готового JSON в UTF-8, а не размер файла до преобразования.

payload length = 12 × 2^20 bytes
base64 length = 4 × ceil(payload length / 3) = 16 × 2^20
JSON envelope adds more bytes

Подберите транспорт под объём

Для крупных данных используйте поддерживаемую прямую загрузку или разделите данные по границам приложения и сохраните упорядоченное описание частей. Отдельно проверьте ограничения шлюза и прокси. Протокольный максимум описывает допустимый блоб и не гарантирует прохождение HTTP-запроса через любой узел.

Источники