用于多个通道的 Netty GlobalChannelTrafficShapingHandler

Netty GlobalChannelTrafficShapingHandler for multiple channels

document 表示

Note that this handler has a Pipeline Coverage of "all" which means only one such handler must be created and shared among all channels as the counter must be shared among all channels.

我知道必须共享此处理程序。

假设我有两组频道。 我可以为每个组使用不同的 GlobalChannelTrafficShapingHandler 实例吗?

是的。如果这些组不相交,你很好(不要共享相同的频道)。 您可以查看代码,发现 GlobalChannelTrafficShapingHandler 有自己的非静态 channelQueues 字段,该字段包含它添加到的管道中的所有通道。 所以换句话说 - GlobalChannelTrafficShapingHandler 不持有所有实例的任何共享声明(没有任何静态共享字段)。您可以自由创建几个实例。