作者回复: 你这个理解也有一定道理,网关主要给微服务/api用,偏向开发人员,反向代理主要面向传统静态web应用,偏向运维。未来趋势是DevOps+网关和反向代理再次融合。
作者回复: zuul是java开发,绝对性能比不过c/lua开发的nginx。但是网关性能考量只是一个方面,同时还要考虑开发和维护是否方便,使用是否简单灵活等其它方面因素。相对于nginx,zuul对开发人员(特别是java开发人员)更友好,使用门槛也更低。另外,网关一般无状态部署,可以支持水平扩容,如果性能容量不够,只要简单扩容即可。
作者回复: 你好,kong(https://github.com/Kong/kong)就是在openresty基础上扩展出来的云原生的网关,有api动态可编程,后面有一节专门讲主流网关概览会讲到kong。
作者回复: 在k8s中,和网关等价的概念叫Ingress,像kong/envoy/traefik这些可编程网关,都有支持对接Ingress。课程项目Staffjoy中的Faraday,即是反向代理也是网关,当把Staffjoy部署到K8s环境,Faraday也相当于Ingress功能。
作者回复: stackoverflow上有讨论,网关和反向代理只是术语叫法不同,两者可以互补,也可以相互替代。
https://stackoverflow.com/questions/35756663/api-gateway-vs-reverse-proxy