为什么有了Spring-Gateway还要Nginx
今天跟同学聊到⼀个问题:Nginx跟Spring-Gateway都可以做负载均衡,他们有什么区别吗?为什么有了Spring-Gateway还要Nginx?
据说,这个是⼀道⾯试题。
回答该问题前,建议先思考另外⼀个⾯试题,在浏览器敲⼊⼀个完整的域名,⼤致经过了哪些组件?(粗糙点如下:)
IP
1、在浏览器中是否缓存
2、操作系统是否缓存
3、最近的路由器是否缓存
4、DNS域名解析得到IP
访问接⼊层,⽐如部署在阿⾥云上,接⼊层是SLB。内部是⼀个LVS+Nginx实现的四层+七层负载均衡
应⽤⽹关,⽐如SpringGateway/Zuul,做统⼀鉴权
应⽤层服务
1、Controller
2、Service
3、DAO
MySQL
Nginx在其中扮演的⾓⾊是什么?
反向代理
负载均衡
SpringGateway在其中扮演的⾓⾊是什么?
nginx和网关怎么配合使用统⼀鉴权
为什么有了Spring-Gateway还要Nginx?回到负载均衡上去看,最开始的负载均衡在哪⾥做?
在DNS服务器上做,添加⼏个IP做轮询就可以了
服务器抗不住,衍⽣出了基于F5/LVS实现的四层负载均衡
基于成本性能等诸多⽅⾯的权衡,衍⽣除了Nginx/Apache这样的负载均衡软件
当SOA/微服务⼤⾏其道时,⽹关服务也随着⽽来
它们是有了谁,为什么还会有谁这样的关系吗?亦或者,我们在讨论类似这样的话题的时候,往往是在混淆概念,不谈业务的架构都是耍流氓。没有谁是必须的,没有Nginx时服务也可以很好的跑着,没有SpringGateway时服务也可以很好的跑着,只是各⾃在架构 体系内⼲着各⾃合适的⼯作罢了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。