• 丁志勇
    2019-03-01
    杨波老师,有个问题请教,zuul网关在做了异步Servlet之后,Servlet容器的线程资源释放了,但业务处理线程池的资源会因下游服务处理过慢而被占用,这样,当有大量慢服务的请求调用时,那些处理很快的服务会由于没有业务线程资源而不能得到处理,那这样是否还需要根据服务的不同而设置多种业务线程做资源隔离呢?

    作者回复: 你好,网关是服务对外的一个出入口,其性能影响整个网站的稳定性,所以除了异步Servlet措施,网关上同时需要做好限流熔断。建议配合Hystrix做,通过Hystrix信号量可以实现服务限流和隔离,另外严格控制服务超时,Hystrix支持超时熔断,对于一些特别慢的服务可以单独设定超时,或者也可以考虑为特别慢的服务单独部署一套网关,这也是一种物理隔离策略,避免一小部分很慢的服务影响大部分正常服务。

    
     1
  • 张小马
    2018-11-08
    波波老师,看了您的s2g源码,对于AsyncSerlvet有个小疑问,为什么调用异步线程去执行的时候使用submit+callable而不是execute+runnable呢 ?主要源码里callable也并没有返回啊,还是不需要纠结这些东西?

    作者回复: 这个是AsncServlet的一种用法,背后使用线程池,像一个队列,提交丢进去即可,不需返回,后台线程会处理请求。Callable只是后台线程要处理的一个任务,也不需返回,任务被处理时会处理http request/response

    
     1
  • bxov
    2018-09-26
    如果在网关上对入口和出口数据进行加密和解密有什么问题吗?

    作者回复: 可以,需注意做好压力测试和监控,如有性能问题及时优化或扩容。

    
     1
  • kyll
    2018-09-21
    这个最佳实践章节很喜欢

    作者回复: 谢支持🌹后面继续增加实践环节

    
     1
  • Visual C++
    2018-12-02
    可据于spring cloud2.x进行?对zuul网关路由动态加载

    作者回复: 可以需定制

    
    
  • Visual C++
    2018-11-29
    自助路由有示倒吗?对于路由,尤其是服务中心自动发现给zuul,则不足,内部服务不想通过zuul暴露,如何解决?

    作者回复: zuul网关的自助路由能力,目前还没有成熟开源的,需定制自研,核心原理就是网关路由表可以由开发人员自助管理,具体实现也不是特别复杂,简单做个基于数据库的web应用,能够管理网关路由表,zuul集群定期去抓取更新这个路由表。开源产品traefik(golang实现),这块做得较完善,有界面可自助管理路由,可参考。内部服务不暴露,如果用eureka的话,可以在app上附一些元数据(标识内外服务),然后ribbon做一些过滤。

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