详解Java分布式IP限流和防止恶意IP攻击方案-创新互联
前言
腾冲ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!限流是分布式系统设计中经常提到的概念,在某些要求不严格的场景下,使用Guava RateLimiter就可以满足。但是Guava RateLimiter只能应用于单进程,多进程间协同控制便无能为力。本文介绍一种简单的处理方式,用于分布式环境下接口调用频次管控。
如何防止恶意IP攻击某些暴露的接口呢(比如某些场景下短信验证码服务)?本文介绍一种本地缓存和分布式缓存集成方式判断远程IP是否为恶意调用接口的IP。
分布式IP限流
思路是使用redis incr命令,完成一段时间内接口请求次数的统计,以此来完成限流相关逻辑。
private static final String LIMIT_LUA = "local my_limit = redis.call('incr', KEYS[1])\n" + " if tonumber(my_limit) == 1 then\n" + " redis.call('expire', KEYS[1], ARGV[1])\n" + " return 1\n" + " elseif tonumber(my_limit) > tonumber(ARGV[2]) then\n" + " return 0\n" + " else\n" + " return 1\n" + " end\n";
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:详解Java分布式IP限流和防止恶意IP攻击方案-创新互联
URL分享:http://azwzsj.com/article/dojhgd.html