首页 游戏 软件 资讯 排行榜 专题
首页
科技数码
Nginx之外为何还需网关?两大组件核心差异解析

Nginx之外为何还需网关?两大组件核心差异解析

热心网友
66
转载
2026-02-02

Nginx是一款强大的高性能Web与反向代理服务器,采用C语言开发,其核心优势在于占用内存少、并发能力强,非常适合应用在高并发场景、静态资源托管和请求负载均衡等方面。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

在微服务架构普及的当下,即便项目中已经使用了Nginx,通常还需要网关。Nginx和网关并非替代关系,而是互补协作,这便是有丁Nginx后为什么还要网关的原因。

Nginx作为高性能的Web与反向代理服务器,基于C语言开发,核心优势是内存占用少、并发能力强,尤其适用于高并发场景、静态资源托管及请求负载均衡等任务。Nginx位于流量的最外层,能够帮助应用系统扛住海量的TCP连接。虽然Nginx功能强大,但在实际项目中仍存在一些不足之处:

(1)Nginx配置缺乏灵活性

假设当前公司系统中有服务A、服务B和服务C,通过Nginx配置实现请求的负载均衡,如下图所示:

图片图片

公司的新业务上线,运营人员线上需要部署C服务。完成部署服务C后,运维人员还要在Nginx中配置请求转发的设置,如下图所示:

图片

为了让Nginx中的配置生效,往往还需要重新启动Nginx服务。

(2)Nginx中通用业务逻辑维护麻烦

在实际业务中,通常都需要用户鉴权、日志记录和黑白名单等功能,这些通用的功能一般不会放在具体的微服务中,而是单独抽取出来,然后请求到达微服务的时候先执行这些通用的功能,如下图所示:

图片图片

Nginx可以实现上述功能,但是比较麻烦,需要使用Lua脚本,对于使用Java的业务团队来说,一方面上手慢,另一方面一旦逻辑复杂,维护成本很高。

此时我们就引入了网关,我们将用Java开发出来的通用功能(用户鉴权、日志记录和黑白名单等等),然后将这些通用的功能放在Nginx和业务服务之间,如下图所示:

图片

在Java当中,目前主流的网关是SpringCloud Gateway,它对Java开发比较友好,并且能够与注册中心Nacos无缝连接。SpringCloud Gateway不需要去手动地配置IP列表,能自动地感知服务的上线和下线,当微服务需要扩容或缩容时,网关的路由表是动态刷新的。

假设现在又的用户请求来了,我们可以通过SpringCloud Gateway中通过编写Predicate和过滤器实现复杂的业务逻辑(典型应用是识别用户是否VIP,然后转发到不同的服务上),如下图所示:

图片图片

这种基于上下文的精细化流量治理,正是应用网关的核心竞争力所在。

在实际的架构中,Nginx和网关是组合在一起使用的,如下图所示的架构:

图片图片

请求到达的第一层是Nginx,它作为流量的入口,就像小区的大门一样,负责一些日常的安全把控(如处理DOSS攻击、处理静态资源)和流量的限流,经过Nginx过滤后的请求发送到网关上处理。

网关上主要负责治理工作(如进行统一的鉴权、限流熔断和服务的路由,日志的记录等等),经过网关处理后的用户的请求最后由网关转发到具体的微服务的集群当中处理业务逻辑。

总结:

(1)Nginx主要负责一些安全的把控和抗住大流量对应用系统的冲击,然后将有效的请求转发到网关上。

(2)网关负责精细化流量治理,然后将请求转发到具体的服务上处理业务逻辑。

来源:https://server.51cto.com/article/835557.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

nginx之php、php-fpm相关配置
编程语言
nginx之php、php-fpm相关配置

想用nginx支持php项目?先搞定安装这关 要让Nginx顺利跑起PHP项目,第一步自然是安装Nginx本身,这个步骤比较常规,这里就不展开细说了。 咱们重点聊聊PHP和PHP-FPM的安装。这里有个经验之谈:尽量避免使用yum直接安装。为什么?因为通过yum安装后,你很可能找不到安装目录的具体位

热心网友
05.05
Nginx 动态封禁 IP 实战:从配置到落地全流程
业界动态
Nginx 动态封禁 IP 实战:从配置到落地全流程

构建动态IP黑名单:Nginx+Lua+Redis实战方案 服务器时不时遭遇恶意爬虫或攻击者的频繁请求,怎么办?一个行之有效的防御策略是建立动态的IP黑名单。简单说,就是把那些“不受欢迎”的IP地址列入名单,在一段时间内拒绝其所有访问请求。这不仅能有效拦截恶意流量,还能灵活设置封禁时长,实现自动化管

热心网友
04.22
Nginx之外为何还需网关?两大组件核心差异解析
科技数码
Nginx之外为何还需网关?两大组件核心差异解析

Nginx是一款很强大的高性能Web和反向代理服务,它是用C语言开发的,其核心优势占有内存少,并发能力强,非常适合应用在高并发场景、静态资源托管和请求的负载均衡等等。 在微服务架构普及的当下,即使项

热心网友
02.02
Nginx深色模式支持优化:解决用户夜间“亮瞎眼”痛点
业界动态
Nginx深色模式支持优化:解决用户夜间“亮瞎眼”痛点

3 月 18 日消息,名为 anvme 的用户昨日于 Nginx 的 Github 页面上,提交了为 Nginx 错误页面添加深色模式支持的请求,但这项请求于昨天被 Nginx 的开发者拒绝。该用

热心网友
12.20
Nginx 平滑升级的实战指南!(含备份+业务0中断+回滚)
科技数码
Nginx 平滑升级的实战指南!(含备份+业务0中断+回滚)

在实际生产环境,安全部门一般都会定期去扫描程序漏洞,基本都需要升级版本。今天我们就分享一下Nginx如何平滑升级,做到零中断。 今天分享一下Nginx如何平滑升级,做到零中断。在实际生产环境,安全部

热心网友
12.15

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

红米Note11 Pro更新系统需连WiFi吗?
电脑教程
红米Note11 Pro更新系统需连WiFi吗?

红米Note 11 Pro系统升级,为何坚持要求连接Wi-Fi? 当红米Note 11 Pro收到MIUI或澎湃OS的系统更新推送时,官方总会明确提示:整个过程请在Wi-Fi网络环境下完成。这项要求并非随意设定,而是基于清晰的技术与体验考量。一次完整的系统升级包,其大小通常在2GB至4GB之间。如果

热心网友
05.05
小米13ultra有nfc功能吗
电脑教程
小米13ultra有nfc功能吗

小米13 Ultra的NFC功能深度解析:它如何重新定义“全场景智能交互”? 在旗舰手机领域,NFC功能看似已成为标配,但体验却千差万别。小米13 Ultra所搭载的全功能NFC方案,在“全能”与“好用”两个维度上树立了新的标杆。它不仅无缝集成了公交卡模拟、门禁卡复制、数字车钥匙等核心生活服务,更全

热心网友
05.05
嵌入式消毒柜电源插座位置必须外露吗?
电脑教程
嵌入式消毒柜电源插座位置必须外露吗?

嵌入式消毒柜电源插座安装指南:隐蔽式布局提升安全与美观 在规划嵌入式消毒柜的安装方案时,电源插座的布局方式直接影响到最终的整体效果与安全性。正确的做法是避免插座外露,采用隐蔽式安装。根据国家《住宅厨房设计规范》及主流厨电品牌的安装标准,推荐将插座预留在消毒柜后方或侧方的墙体内部,安装高度宜控制在距地

热心网友
05.05
魔音耳机操作说明包含充电指示吗?
电脑教程
魔音耳机操作说明包含充电指示吗?

是的,魔音(Beats)耳机充电状态一目了然,指示灯明确显示 当你为Beats头戴式耳机充电时,如何判断它是否已经充满?答案就藏在机身自带的五段式LED电量指示灯里。在充电过程中,这排指示灯会持续闪烁,实时反馈充电进度。一旦所有五个指示灯全部转为稳定常亮、不再闪烁,即代表电池已完全充满。整个充电周期

热心网友
05.05
博朗剃须刀如何识别型号?
电脑教程
博朗剃须刀如何识别型号?

博朗剃须刀型号全解析:从编码规则到选购技巧的终极指南 面对博朗剃须刀复杂的字母数字组合感到困惑?实际上,其型号命名体系逻辑严谨,是用户选购的核心依据。简单来说,型号首位的数字(1、3、5、7、9)直接代表产品系列,数字越大,通常意味着技术越先进、功能越全面、定位越高端。例如,顶级的9系旗舰机型普遍搭

热心网友
05.05