OversizedPayloadException Akka
Это исключение, если отправленная полезная нагрузка превышает установленное пороговое значение. Есть ли способ, которым я могу узнать размер сообщения кластера (не только размер json), которым обмениваются, и обработать этот случай перед передачей сообщения кластера отправителю?
1 ответ
В общем, невозможно сказать точные издержки, поскольку конверт содержит системные адреса отправителя и получателя, которые, в свою очередь, содержат имена хостов систем, имена систем акторов и пути акторов, кроме того, он содержит строковый манифест из используемого сериализатора. для сериализации фактической полезной нагрузки все они могут быть разных размеров.
Для достаточно коротких строк - имя хоста на основе ip, субъект верхнего уровня с коротким именем, манифест строки односимвольного сериализатора - это около 120 байтов.
Обратите внимание, что это для текущего стабильного удаленного взаимодействия, в следующем поколении, "Artery", мы реализовали сжатие для ссылок актеров, делающих их такими же маленькими, как индекс в кеш.