Timeout, retry, ug idempotency

15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.

Dili pamatuod nga walay nahimo ang timeout: mahimong nahuman sa dili pa nawala ang response. Gamita ang idempotency key sa operation nga dili angay mausab. Limitahi ang retry ug pag-backoff. Ang modelo mobalik sa samang stored result sa repeated key imbes balikon ang side effect.

Praktis ug ebidensiya: Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.

results={}
def complete(key):
    if key not in results:results[key]=len(results)+1
    return results[key]
print(complete("lesson-1"),complete("lesson-1"))
print(len(results))

Gipaabot nga resulta: 1 1 1

Praktis ug ebidensiya

Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.