面试里有一次被问到Nginx和Gateway的区别,当时只说了几个点,事后发现并没有说到关键点上,惭愧,今天就发文仔细分析下两者。
Nginx
nginx是 HTTP 和反向代理服务器、邮件代理服务器和通用 TCP/UDP 代理服务器。
常用的三大大功能如下:
- 反向代理
- 静态资源服务器
- 负载均衡
其他功能还包括:
- SSL
- 缓存
反向代理
隐藏目标服务器的真实地址,相对安全性较好;
可以做负载均衡
负载均衡
负载均衡的算法包括:轮询、权重、IP hash、url hash、fair等。
静态资源服务器
可以存在静态资源,如前端HTML、js、图片等。
API Gateway
Spring Cloud Gateway 旨在提供一种简单而有效的方式来路由到 API,并为它们提供横切关注点,例如:安全性、监控/指标、日志和弹性等。
网关可以做API统一入口,路由、限流、熔断、负载均衡、日志、安全监控等。
两者对比
Nginx偏向外部的流量网关,核心功能是反向代理、负载均衡、静态资源服务器。
API gateway偏向内部的系统网关,核心功能是路由、负载均衡、限流、熔断、日志、监控等。
在实际业务中,我们是两者结合使用的,Nginx作为反向代理把用户请求转发到网关。
网关在进行微服务集群负载均衡,同时增加日志、限流、熔断等处理。
文档信息
- 本文作者:yindongxu
- 本文链接:https://iceblow.github.io/2022/02/28/Nginx%E5%92%8CGateway%E7%9A%84%E5%8C%BA%E5%88%AB/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)