0

Im using distributed pub/sub in an Akka.net cluster and I've begun seeing this error when pub/sub grows to approx. 1000 subscribers and 3000 publishers.

max allowed size 128000 bytes, actual size of encoded Akka.Cluster.Tools.PublishSubscribe.Internal.Delta was 325691 bytes

I don't know, but I'm guessing distributed pub/sub is trying to pass the pub/sub list to other actor systems on the cluster?

Anyway, I'm a little hesitant about boosting size limits because of this post. So what would be a reasonable approach to correcting this?

4

1 回答 1

3

您可能希望使用分布式发布/订阅 HOCON 设置来解决问题。Akka.Cluster.DistributePubSub 中的消息被组合在一起并作为增量发送。您可能对以下两种设置感兴趣:

  1. akka.cluster.pub-sub.max-delta-elements = 3000表示 delta 消息中最多可以包含多少个项目。3000 是默认值,您可能希望降低它以减小增量消息的大小(在您的情况下这似乎是一个问题)。
  2. akka.cluster.pub-sub.gossip-interval = 1s间接影响八卦的发送频率。它们发送的越频繁,它们可能越小 - 假设通道持续高度饱和。

如果这些都无济于事,您还可以考虑通过引入具有较小负载占用的自定义序列化程序来减小自定义消息的大小。

于 2021-03-12T10:19:20.973 回答