无
作者回复: 技术上两者有点相似,但是gateway比esb更轻量,gateway基本上就是一个转发代理,一般不做较重的协议转换,传统esb一般里头有较重的转换逻辑;另外gateway一般处在微服务的边界上,企业内部服务一般可以采用直连,暴露出去的时候才需要通过gateway,gateway一般无状态,可以水平扩,另外gateway可以通过容错限流等手段保证高可用性,esb一般处在企业内部,是一个中心hub,所以有单点风险。
作者回复: 对,在工作中思考实践过,再学习课程效果会更好。
作者回复: 请参考我之前在聊聊架构公众号发表的文章《现代发布技术》https://mp.weixin.qq.com/s/WdCM6cOmjdhAEa6PtviH9A
作者回复: 可以做成动态刷新方式就不需要重启了,比如我之前公司在网关里头有个scheduler,定期去一个中央地址服务拉取最新地址信息。
作者回复: 是,Gateway本质上也是一种反向代理,Zuul/Nginx都可以实现,Nginx比较传统一点,用c/lua写门槛高点,偏运维,Zuul则基于Java,对开发更友好,适合DevOps。
作者回复: 不建议在网关上做RPC到HTTP转换(虽然可以这样做),建议开发适配服务(也叫聚合转换服务或BFF),在后台RPC和网关之间专门做转换聚合等适配工作。
作者回复: 网关可以集成负载均衡,比Zuul对接Eureka/Ribbon实现软负载。如果内部服务使用集中式负载,比如nginx,则网关不需要负载均衡功能,可直接通过域名调服务,会间接通过nginx做负载均衡。
作者回复: 网关是微服务基础设施,一般由企业框架团队负责维护,管路由,安全,监控等跨横功面功能,一般研发不直接接触
作者回复: 你的做法把聚合服务和网关做在一起了,建议网关独立不含聚合逻辑,只负责路由监控等逻辑,聚合服务单独一层躲在网关层后面,这样架构更清晰关注分离