是否有任何机制/ 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);
 }
 }

07-25 22:27
查看更多