服务网关Netflix/zuul优化实践

栏目: 编程工具 · 发布时间: 7年前

内容简介:这两天对微服务网关进行压力测试发现各种问题,并都一一解决,总结记录一下。以上报错都可以通过调整zuul的参数进行解决。Hystrix隔离策略采用的

这两天对微服务网关进行压力测试发现各种问题,并都一一解决,总结记录一下。

问题

  • SHORTCIRCUIT
  • could not acquire a semaphore for execution and no fallback available
  • timed-out and no fallback available

以上报错都可以通过调整zuul的参数进行解决。

解决方法

Hystrix隔离策略采用的 SEMAPHORE 的方式,还有一个是 THREAD (一般对于公网服务使用)

具体可以了解一下 zuul的两种隔离机制

zuul:
  retryable: true
  add-host-header: true
  routes:
    generalservice:
      path: /g/**
      sensitiveHeaders: "Access-Control-Allow-Origin,Access-Control-Allow-Credentials,Access-Control-Expose-Headers,Vary"
      serviceId: xx
      semaphore:
        maxSemaphores: 5000 //设置相应的值
ribbon:
  #  ribbon重试超时时间
  ConnectTimeout: 1000
  #  建立连接后的超时时间
  ReadTimeout: 5000
  #  对所有操作请求都进行重试
  OkToRetryOnAllOperations: true
  #  切换实例的重试次数
  MaxAutoRetriesNextServer: 1
  #  对当前实例的重试次数
  MaxAutoRetries: 0
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 13000 // > (ConnectTimeout + ReadTimeout) * MaxAutoRetriesNextServer

以上所述就是小编给大家介绍的《服务网关Netflix/zuul优化实践》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++ API设计

C++ API设计

[美] Martin Reddy / 刘晓娜、臧秀涛、林健 / 人民邮电出版社 / 2013-8 / 89.00

现代软件开发中的一大难题就是如何编写优质的API。API负责为某个组件提供逻辑接口并隐藏该模块的内部细节。多数程序员依靠的是经验和冒险,从而很难达到健壮、高效、稳定、可扩展性强的要求。Martin Reddy博士在自己多年经验基础之上,对于不同API风格与模式,总结出了API设计的种种最佳策略,着重针对大规模长期开发项目,辅以翔实的代码范例,从而有助于设计决策的成功实施,以及软件项目的健壮性及稳定......一起来看看 《C++ API设计》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具