ป้องกัน Race Condition ด้วย Conditions
มีสอง Process พยายามอัปเดต email ของผู้ใช้คนเดียวกันพร้อมกัน:
- Process A: เปลี่ยน email จาก '[email protected]' เป็น '[email protected]'
- Process B: เปลี่ยน email จาก '[email protected]' เป็น '[email protected]'
ทั้งคู่ใช้ update_item() พร้อม ConditionExpression='email = :old_email' โดย :old_email = '[email protected]' โดย Process A ทำงานก่อนและสำเร็จ
จะเกิดอะไรขึ้นเมื่อ Process B ทำงานต่อมาทันที?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การใช้งาน Data Stores บน AWS
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด