是否有任何机制/ API可用来控制来自HTTP客户端的TPS命中率?
从HTTP客户端,我需要控制命中休息服务的次数(我的HTTP客户端将以受控方式命中服务器)。
最佳答案
您可以通过将Netty的IpFilterHandler作为第一个处理程序添加到服务器管道来立即将其关闭。它还将停止传播上行通道状态事件以进行过滤的连接。
@ChannelHandler.Sharable
public class FilterIPHandler extends IpFilteringHandlerImpl {
private final Set<InetSocketAddress> deniedIP;
public filter(Set<InetSocketAddress> deniedIP) {
this.deniedIP = deniedIP;
}
@Override
protected boolean isAnAccpetedIP(ChannelHandlerContext ctx, ChannelEvent e, InetSocketAddress inetSocketAddress) throws Exception {
return !deniedIP.contains(inetSocketAddress);
}
}