流量网关
更新: 3/23/2025 字数: 0 字 时长: 0 分钟
业务网关(Gateway+Sentinel)可以帮助我们针对某一接口进行控制,但除此之外我们还需要对整体项目进行一个把控,用来处理刷单流量和攻击流量,将大部分刷单流量和攻击流量挡在我们的项目之外,进一步确保整个项目的稳定性和可靠性。
技术选型
Nginx
Nginx作为一个高性能的Http反向代理服务器,可以为我们的Web服务器来作为流量网关
使用Lua语言我们可以为Nginx来编写一系列插件进而完成我们的业务需求
OpenResty
我们都知道,一个事重复的干多了,就会有人整理出一个可以重复使用的东西。
OpenResty基于Nginx与Lua,内置了大量的Lua库与第三方依赖,便于我们更快的搭建网关项目
Kong
Kong基于OpenRestry,提供了更加智能的使用方式
为什么需要Nginx
不论是Kong还是OpenRestry,其底层都是基于Nginx服务器,而我们都知道,我们的SpringBoot-web为我们集成了Tomcat服务器,那么既然有Tomcat服务器,为什么还要再找一个服务器来使用呢?
Tomcat服务器底层使用的是线程池处理请求,如果大量的流量打入Tomcat,就会导致Tomcat服务器的卡顿,我们也可以通过将线程池开大的方式来缓解这种问题,但是这又导致了Cpu的压力暴增
由于Nginx的高并发高吞吐的特点,我们可以让请求先一步进入Nginx,然后在Nginx层面完成一个统一的拦截和处理,将危险阻挡在我们的web服务器前面