日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何保證冪等性

更新時(shí)間:

您在調(diào)用彈性伸縮的API時(shí),如果發(fā)生請(qǐng)求超時(shí)或服務(wù)器內(nèi)部錯(cuò)誤,客戶端可能會(huì)嘗試重發(fā)請(qǐng)求。您可以在請(qǐng)求中設(shè)置ClientToken參數(shù)避免多次重試帶來重復(fù)操作的問題。

什么是冪等性

在數(shù)學(xué)計(jì)算或者計(jì)算機(jī)科學(xué)中,冪等性(idempotence)是指相同操作或資源在一次或多次請(qǐng)求中具有同樣效果的作用。冪等性是在分布式系統(tǒng)設(shè)計(jì)中具有十分重要的地位。

保證冪等性

通常情況下,客戶端只需要在500(InternalError)或503(ServiceUnavailable)錯(cuò)誤,或者無法獲取響應(yīng)結(jié)果時(shí)重試。使用阿里云彈性伸縮的API,您可以從客戶端生成一個(gè)參數(shù)值不超過64個(gè)的ASCII字符,并將值賦予ClientToken,保證重試請(qǐng)求的冪等性。

ClientToken詳解

  • ClientToken是一個(gè)由客戶端生成的唯一的、區(qū)分大小寫、不超過64個(gè)ASCII字符的字符串。例如,ClientToken=123e4567-e89b-12d3-a456-42665544****。

  • 如果您提供了一個(gè)已經(jīng)使用過的ClientToken,但其他請(qǐng)求參數(shù)有變化,則彈性伸縮會(huì)返回IdempotentParameterMismatch的錯(cuò)誤代碼。

    說明

    參數(shù)SignatureNonce、TimestampSignature在重試時(shí)是需要變化的。具體原因是彈性伸縮使用SignatureNonce防止重放攻擊,使用Timestamp標(biāo)記每次請(qǐng)求時(shí)間。所以再次請(qǐng)求必須提供不同的SignatureNonceTimestamp參數(shù)值,同時(shí)也會(huì)導(dǎo)致Signature值的變化。

  • 添加了ClientToken參數(shù)后:

    • 返回結(jié)果是200 HTTPCode時(shí),重試后客戶端可以得到與上次相同的結(jié)果,但對(duì)您的服務(wù)端狀態(tài)沒有影響。

    • 返回結(jié)果是4xx HTTPCode時(shí),如果錯(cuò)誤信息沒有表明try it later類似的信息,重試不會(huì)成功。您需要根據(jù)錯(cuò)誤信息排查問題后再重試請(qǐng)求。

冪等請(qǐng)求示例

以CreateScalingGroup創(chuàng)建一個(gè)伸縮組為例,如果您使用同一個(gè)ClientToken值,其他請(qǐng)求參數(shù)相同時(shí),則服務(wù)端會(huì)返回相同的請(qǐng)求結(jié)果,只會(huì)產(chǎn)生一個(gè)ScalingGroupId。

http(s)://ess.aliyuncs.com/?Action=CreateScalingGroup
&ScalingGroupName=scalinggroup****
&InstanceId=i-28wt4****
&RegionId=cn-qingdao
&MinSize=2
&MaxSize=20
&DefaultCooldown=300
.......
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&<公共請(qǐng)求參數(shù)>

API列表

以下為部分包含了ClientToken參數(shù)的API,供您參考。具體哪些API支持ClientToken參數(shù)請(qǐng)以各API文檔為準(zhǔn),此處不一一列舉。