云效我现在控制到 8 个 但是有的接口还是会出问题,为什么?
{"time":2023-11-06T06:04:53.14607131Z, "error":GetWorkitemRelations SDKError:
StatusCode: 400
Code: Throttling.User
Message: code: 400, Request was denied due to user flow control. request id: 6CB653DE-EFC6-55E8-9980-39E3288F579F
Data: {"Code":"Throttling.User","HostId":"devops.cn-hangzhou.aliyuncs.com","Message":"Request was denied due to user flow control.","Recommend":"https://api.aliyun.com/troubleshoot?q=Throttling.User\u0026product=devops\u0026requestId=6CB653DE-EFC6-55E8-9980-39E3288F579F","RequestId":"6CB653DE-EFC6-55E8-9980-39E3288F579F","statusCode":400}
, "stack": /home/vagrant/zx/yunxiao-go-bigdata/domain/yunxiao/backend/process/workitem.go:173(func1)}
我们 qps 用的漏桶算法吗
从错误信息来看,你可能遇到了用户级别的限流问题。云效服务端可能会根据用户的请求频率进行流量控制以保护系统稳定。在你的代码中,虽然你已经限制了并发调用接口的数量,但是这个限制可能仍然超过了云效服务器允许的 QPS(每秒查询数)。
要解决这个问题,你可以尝试以下方法:
降低并发度:
尝试进一步减少同时发送到云效服务器的请求数量。你可以调整你的限速器参数或者在代码中增加额外的等待时间来减缓请求速度。
使用更严格的限流策略:
考虑使用一个更严格的限流算法或库,比如令牌桶算法,它可以在短时间内更好地控制请求速率。
从你提供的错误信息来看,这个问题是由于阿里云的云效服务(DevOps)对用户请求进行了限流导致的。错误信息中的"code: 400, Request was denied due to user flow control"就是说明这个问题。
阿里云的云效服务(DevOps)可能会根据用户的流量使用情况,以及系统的负载情况,对用户的请求进行限流。这是为了保护系统的安全和稳定性,防止因大量请求导致的服务不可用。
对于这种情况,建议你首先检查一下你的应用是否存在过度请求的问题,例如是否有过多的并发请求,或者是否有频繁的重复请求等。如果有,可以尝试优化你的应用逻辑,减少不必要的请求。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。