• 东方奇骥
    2019-07-30
    老师,这几个开源网关,实际生产环境,你更倾向于使用哪一个呢。现在我们还是用的zul,是不是springcloud gateway和contaknous会更有优势一些?

    作者回复: 我个人的意见,没有哪个特别有优势,各有利弊,zuul简单稳定,但是同步模式,而且spring cloud zuul里头引入hystrix/ribbon之后也会变得比较复杂;spring cloud gateway异步模式,兼备网关和反向代理功能,配置灵活,但是比较新,坑还没有踩平,大规模落地案例不多;traefik兼备网关和反向代理功能,golang语言写性能也不错,而且是属于云原生网关,带UI不错的dashboard,但是golang语言对一般程序员来说是门槛,国内大规模落地案例也不多。如果你已经用了zuul,没有问题可以继续使用,同时可以关注和试点spring cloud gateway。

    
     4
  • 正是那朵玫瑰
    2019-07-30
    老师,可编程网关这个可编程指的的是什么啊?faraday网关哪里体现了可编程啊?

    作者回复: 可编程网关,通常指网关提供可编程的API,比如kong/traefik这些都是可编程网关,可以通过API调用直接操作网关的功能,比如添加路由规则,调整限流阀值,或者高级的流量调度A/B测试等。

    Faraday本身就是一个SpringBoot应用,代码不多也很简单,它的可编程主要指,普通开发人员主可以通过代码任意调整网关的功能,这是另外一种意义上的可编程,实际使用也更加灵活,当然如果需要,可以给Faraday添加一层API,支持通过API可编程,这个时候可以考虑像Kong一样引入集中存储(kong使用postgresql),存储网关的配置,有一定复杂性和开发量。

     1
     4
  • 云淡风清
    2019-12-27
    追问一下,波波老师,我看b站的老大提到他们的架构的时候说他们的网关要做聚合,把内部多个微服务的业务在网关聚合成一个api,这似乎跟zuul这样透明转发的网关运行方式不一样,而且他的网关还是按业务分类,比如会员网关,app网关,,,这种网关架构真的好吗,能否简单介绍和评价一下

    作者回复: 一些公司职责分离比较清楚,网关只做反向路由,安全监控等跨横切面的功能,API聚合逻辑交由后台BFF层做。

    也有一些公司的聚合是直接做在网关上的,技术上也可以做到,不过从单一职责/关注分离这些架构原则角度讲,这种做法把网关和业务聚合功能耦合了。当然原则也不是绝对,实际还要看其它因素,比如企业的硬件资源是否富裕,一般企业早期业务简单,资源吃紧,这时候把聚合逻辑直接做在网关上也未尝不可,后续业务变大,需要职责分离的时候,可再拆分解耦。

    
     1
  • 下一道彩虹
    2019-08-01
    杨波老师,你好,看到老师列的几种网关产品中,spring cloud gateway是2016年后期推出来,时间挺靠后的,但老师为什么将其定义为早期产品?根据老师解释是说这里的坑还没有填完。是否可以理解为目前spring cloud gateway 成熟度和稳定性上不够,处于产品初期?

    作者回复: 对,我的意思是spring cloud gateway属于初期产品,出来没有几年,目前文档案例都不多,我认为其功能代码都还不够稳定,还在不断迭代改进中。

    
     1
  • Bean.Long
    2019-11-16
    https://github.com/Dromara/soul,开源时间不长,有一些特点。老师可以帮对比一下。

    作者回复: 简单看了一下,soul的功能很丰富,治理很全面,有时间要细细研究下,谢谢推荐!

    不过关键还是要落地案例,网关产品其实很多,真正接地气在企业大规模落地的并不多,zuul算是一个(在Netflix大规模落地,也被Spring Cloud集成)。

     1
    
我们在线,来聊聊吧