OversizedPayloadException Akka

Это исключение, если отправленная полезная нагрузка превышает установленное пороговое значение. Есть ли способ, которым я могу узнать размер сообщения кластера (не только размер json), которым обмениваются, и обработать этот случай перед передачей сообщения кластера отправителю?

1 ответ

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

Для достаточно коротких строк - имя хоста на основе ip, субъект верхнего уровня с коротким именем, манифест строки односимвольного сериализатора - это около 120 байтов.

Обратите внимание, что это для текущего стабильного удаленного взаимодействия, в следующем поколении, "Artery", мы реализовали сжатие для ссылок актеров, делающих их такими же маленькими, как индекс в кеш.

Другие вопросы по тегам