Netty 估算净客户';s吞吐量

Netty 估算净客户';s吞吐量,netty,Netty,我有以下设置 Netty服务器正在通过10G链路接收来自第三方客户端的流量。我必须使用Netty客户端通过1G链路将此流量转发给其他主机。 netty是否有任何API可用于估计我的netty客户端(1G链路)的写入速度,以便我可以使用此信息限制我的netty服务器(10G链路)的带宽?正确的方法是使用TCP背压,这意味着您的代理读取的数据不会超过其写入的数据量。这是通过仅在您准备接收更多数据时发送TCP ACK信号来实现的 仅基于吞吐量测量的方法不适合,因为它不处理临时降级。(通过计算滑动时间窗

我有以下设置

Netty服务器正在通过10G链路接收来自第三方客户端的流量。我必须使用Netty客户端通过1G链路将此流量转发给其他主机。
netty是否有任何API可用于估计我的netty客户端(1G链路)的写入速度,以便我可以使用此信息限制我的netty服务器(10G链路)的带宽?

正确的方法是使用TCP背压,这意味着您的代理读取的数据不会超过其写入的数据量。这是通过仅在您准备接收更多数据时发送TCP ACK信号来实现的

仅基于吞吐量测量的方法不适合,因为它不处理临时降级。(通过计算滑动时间窗口中缓冲区的大小来实现这种测量是很简单的。)

Netty提供了一个用于TCP背压的API,这正是您所需要的。您“只是”必须使用
ChannelOption.AUTO\u read
设置为
false
并在写入成功后明确调用
Channel.read()

我建议您仔细看看,它禁用了
AUTO\u READ

是一段更复杂的代码,它还监视吞吐量