You need to enable JavaScript to run this app.
消息队列 RocketMQ版

消息队列 RocketMQ版

复制全文
附录
请求幂等性
复制全文
请求幂等性

调用消息队列 RocketMQ版 OpenAPI 时,如果发生请求超时或服务端内部错误等问题,客户端可能会多次重试。为保证请求的幂等性,您可以在调用 OpenAPI 时设置 ClientToken 参数,避免多次重试导致重复创建资源。

如何保证请求的幂等性

请求幂等性指是同样的请求被执行一次与连续执行多次的效果相同,即幂等方法不具有统计用途以外的副作用。
通过 OpenAPI 创建云资源时,如果发生请求超时或服务端内部错误等问题,客户端可能会反复重试。如果原始的请求和后续重试的请求均执行成功,则每个请求都会创建一个资源,导致实际创建出的资源数量比预期中更多。消息队列 RocketMQ版支持 OpenAPI 请求幂等标识,后端服务会对客户端在请求中设置的幂等标识进行一系列判断检查,并识别当前请求是否为重试请求,从而进行下一步处理。
客户端在发送请求时,可以在请求参数中增加可选参数 ClientToken 作为幂等性标识。如果客户端在遇到 500 等错误时重试,服务端收到请求后会根据幂等性标识判断请求是否为重试请求。
幂等性标识的基本信息如下:

名称

类型

是否必选

示例值

描述

ClientToken

String

testClientToken

保证客户端请求幂等性的标识。
该标识为 1~64 位的 ASCII 字符串,大小写敏感,由客户端生成,应确保不同请求之间该标识具有唯一性。

幂等性标识使用说明:

  • 唯一性:幂等标识在不同请求中唯一,如果您提供了一个已经使用过的标识,但请求参数有变化,则服务端会返回

InvalidIdempotency 错误码。

  • 有效时间:幂等标识的时效性为 8 小时,如果您提供了一个已经失效的标识,则服务端会返回 InvalidIdempotency 错误码。
  • 使用幂等标识进行重试后:
    • 返回结果状态码为 2xx ,客户端会得到与上个请求完全相同的结果,例如创建实例请求成功时返回实例 ID 等信息。
    • 返回结果状态码为 4xx 时,客户端重试请求失败,建议根据错误信息排查问题后,重试请求。

支持幂等的 API

以下消息队列 RocketMQ版 OpenAPI 支持设置幂等性标识:

最近更新时间:2023.10.26 16:27:25
这个页面对您有帮助吗?
有用
有用
无用
无用