云原生时代下的网关V.S反向代理
WEB1.0/2.0时代,使用前置反向代理,由运维负责 nginx,进行反向代理和负载均衡、安全认证、限流缓存等功能。网站升级频率较低,反向代理大多采用静态配置方式。
- 作者:JavaEdge来源:JavaEdge|2021-01-13 07:15
简介
- 网关主要服务于微服务/API,偏向研发人员
- 反向代理主要面向传统静态web应用,偏向运维
- 而未来趋势是DevOps+网关和反向代理再次融合
发展演进史
WEB1.0/2.0时代,使用前置反向代理,由运维负责 nginx,进行反向代理和负载均衡、安全认证、限流缓存等功能。网站升级频率较低,反向代理大多采用静态配置方式。
微服务时代,API 服务升级频率高,传统的 nginx 动态配置较差,且运维执行效率低,就需要使用动态配置的网关服务,便于研发自主配置。
云原生时代提出更高要求,还需要支持灰度发布。要求网关不仅可动态配置,还要能动态编程,所以出现网关和反向代理融合的趋势,典型产品比如 envoy 和 Traefik。
云原生时代下的可编程网关
在k8s中,和网关等价的概念叫Ingress,像kong/envoy/traefik这些可编程网关,都有支持对接Ingress。
所有不同的端,ios 安卓 h5 web,要不要分,还是要看业务和团队规模,比如携程内部就有超过十套以上面向不同端的网关,总网关集群规模超过百台。对大体量多团队的公司,网关如果分的不够,不同团队容易打架。微服务也是这个道理,服务分分多少多细,也主要看体量和团队规模,小团队不分也没事。
安全认证要求,对于不同部门可能不一样,比如支付部门要求更严格,所以可以独立定制部署。
总之nginx偏运维,spring gateway对中国java程序员更友好。
二者概念区分
如果你意识到它们不是互斥的,则更容易考虑它们。将API网关视为特定类型的反向代理实现。
经常将两者结合使用时,API网关被视为位于反向代理后面的应用程序层,以进行负载平衡和运行状况检查。一个例子就是类似WAF的三层结构,其中Web应用程序防火墙/ API网关被反向代理层夹持,其中一个反向代理层用于WAF本身,另一个用于与之对话的单个微服务。
关于差异,它们非常相似。这只是术语。当进行基本的反向代理设置并开始使用更多功能(如身份验证,速率限制,动态配置更新和服务发现)时,人们更有可能调用该API网关。
反向代理+网关部署架构
由于架构演进的历史原因,很多公司都是反向代理和网关并存的架构
这样就得维护两套系统,肯定比较复杂,所以最好是结合统一:
参考
https://stackoverflow.com/questions/35756663/api-gateway-vs-reverse-proxy
本文转载自微信公众号「 JavaEdge」,可以通过以下二维码关注。转载本文请联系 JavaEdge公众号。
【编辑推荐】
点赞 0
- 大家都在看
- 猜你喜欢
- 24H热文
- 一周话题
- 本月获赞
- Docker入门教程:15个Docker基本命令及用法排名前十的文本编辑器,你知道几个?组织在2021年创建完美云计算战略的三大支柱2021年云计算行业发展趋势如何?对5G和边缘计算发展前景的展望你在 Docker 中跑 MySQL?恭喜你,好下岗了!揭开2021年云计算十大误区的神秘面纱为什么Cloud + DevOps会更好?
- Docker入门教程:15个Docker基本命令及用法2021年的15个DevOps发展趋势排名前十的文本编辑器,你知道几个?你在 Docker 中跑 MySQL?恭喜你,好下岗了!揭开2021年云计算十大误区的神秘面纱云计算技术变迁:从虚拟机到容器K8s宣布弃用Docker,千万别慌!2021年云计算行业发展趋势如何?
- Docker入门教程:15个Docker基本命令及用法你在 Docker 中跑 MySQL?恭喜你,好下岗了!在生产环境中,你可以遵循的那些Kubernetes优秀实践K8s宣布弃用Docker,千万别慌!2021年的15个DevOps发展趋势微服务与SOA之间差了一个ESB新浪技术分享:我们如何扛下32亿条实时日志的分析处理排名前十的文本编辑器,你知道几个?
订阅专栏+更多
-
数据湖与数据仓库的分析实践攻略
助力现代化数据管理:数据湖与数据仓库的分析实践攻略共3章 | 创世达人1人订阅学习
-
云原生架构实践
新技术引领移动互联网进入急速赛道共3章 | KaliArch30人订阅学习
-
数据中心和VPDN网络建设案例
漫画+案例共20章 | 捷哥CCIE209人订阅学习
视频课程+更多
专题推荐+更多
- 精选博文
- 论坛热帖
-
订阅51CTO邮刊
点击这里查看样刊

51CTO服务号

51CTO官微