ไคลเอนต์บอต Robinhood Crypto API ต้องจัดการช่องว่างระหว่างการส่งคำขอกับการทราบผลทางเศรษฐกิจของคำขอ การเชื่อมต่ออาจล้มเหลวก่อนคำขอไปถึง หลังบริการรับคำขอ หรือระหว่างส่งคำตอบกลับ ไคลเอนต์อาจเห็นการหมดเวลาแบบเดียวกันในทั้งสามกรณี แต่ผลต่อบัญชีอาจต่างกัน
ดังนั้นการกู้คืนที่เชื่อถือได้จึงเริ่มจากเจตนาที่บันทึกอย่างคงทนและหมวดความล้มเหลวที่เจาะจง โปรแกรมต้องทราบว่าตั้งใจดำเนินการใด ความพยายามครั้งใดเป็นของการดำเนินการนั้น และหลักฐานใดจะคลี่คลายความไม่แน่นอน การส่งคำขอซ้ำด้วยอัตลักษณ์ใหม่ทุกครั้งที่สื่อสารลำบากอาจสร้างภาระผูกพันที่สอง แทนการแก้ปัญหาของรายการแรก
บทความนี้มุ่งที่ความทนทานของไคลเอนต์สำหรับ Crypto Trading API ของบัญชีที่รองรับ ไม่ได้สมมติว่ามีโควตาคำขอคงที่ สิทธิ์สากล หรือเวลาการดำเนินการซื้อขายที่รับประกัน ตัวอย่างเป็นสถานการณ์ทางวิศวกรรมเพื่อให้กฎกู้คืนเป็นรูปธรรมและตรวจสอบได้
นโยบายลองซ้ำของบอต Robinhood Crypto API
นโยบายลองซ้ำของบอต Robinhood Crypto API ควรเริ่มจากแยกคำขออ่านออกจากคำขอที่สร้างผลทางเศรษฐกิจได้ การอ่านซ้ำโดยทั่วไปคือขอการสังเกตอีกครั้ง ซึ่งอาจอธิบายสถานะที่ใหม่กว่า การส่งคำขอคำสั่งซื้อขายซ้ำอาจส่งผลต่อความเสี่ยงและต้องมีความสัมพันธ์กับเจตนาเดิมที่เข้มงวดกว่า
เอกสารอ้างอิง Robinhood Crypto Trading API อย่างเป็นทางการอธิบายตัวระบุคำสั่งของไคลเอนต์ การค้นคำสั่ง และหมวดข้อผิดพลาด ใช้ความสามารถเหล่านั้นภายในขอบเขตที่ระบุ แทนการถือว่าถ้อยคำเรื่องการทำซ้ำโดยไม่สร้างผลซ้ำเป็นคำสัญญาสากลว่ารูปแบบลองซ้ำใด ๆ ก็ไม่ก่อผลเสีย
สถาปัตยกรรมทั่วไปในเรื่อง บอตเทรดคริปโตอัตโนมัติ ช่วยแยกเจตนา ความพยายาม และผลลัพธ์ ไคลเอนต์ควรรักษาทั้งสามอย่าง เพื่อไม่ให้ปัญหาการสื่อสารกลายเป็นการตัดสินใจกลยุทธ์ใหม่อย่างเงียบ ๆ
บันทึกเจตนาอย่างคงทนก่อนถึงขอบเขตที่ไม่แน่นอน
เก็บการดำเนินการที่อนุมัติแล้ว ตัวระบุที่เกี่ยวข้อง บริบทบัญชี และทรัพยากรที่กันไว้ ก่อนการส่งจะทำให้แอปพลิเคชันไม่แน่ใจ หากโพรเซสหยุดทันทีหลังส่ง การกู้คืนต้องมีคำอธิบายที่คงทนว่าได้พยายามทำอะไรและจะสืบหาอย่างไร
ระเบียนควรมีพารามิเตอร์คำขอสุดท้าย หรือรูปแบบแทนข้อมูลที่ปลอดภัยและเพียงพอจะสร้างความหมายกลับมา อย่าเก็บความลับควบคู่เจตนา ข้อมูลกู้คืนที่ส่งออกควรช่วยระบุการดำเนินการโดยไม่มอบอำนาจบัญชีให้ใครก็ตามที่อ่าน
ตรวจสอบลำดับการจัดเก็บเพื่อหาช่องว่างเมื่อระบบขัดข้อง หากไคลเอนต์ส่งคำสั่งได้ก่อนบันทึกเจตนาอย่างคงทน การเริ่มใหม่อาจไม่มีทางเชื่อมผลบัญชีกับการตัดสินใจเดิม การปิดช่องว่างนั้นมีค่ากว่าการเพิ่มการลองซ้ำทั่วไปครอบการเรียกเครือข่ายอีกชั้น
แยกอัตลักษณ์ความพยายามออกจากอัตลักษณ์ทางเศรษฐกิจ
ความพยายามคือการสื่อสารหนึ่งครั้ง เจตนาคือการดำเนินการทางเศรษฐกิจที่กลยุทธ์อนุมัติ ความพยายามหลายครั้งเป็นของเจตนาเดียวได้ และแต่ละครั้งมีเวลาและผลการขนส่งของตนเอง รักษาความสัมพันธ์นั้น แทนการนับทุกการลองซ้ำเป็นการตัดสินใจคำสั่งใหม่
ตัวระบุคำสั่งของบริการเพิ่มตัวอ้างอิงอีกตัวเมื่อได้รับมา เชื่อมกับเจตนาและเก็บตัวระบุของไคลเอนต์ที่ใช้ในคำขอไว้ วิธีนี้ให้เส้นทางที่คงที่ผ่านระเบียนภายในและภายนอกแก่โค้ดกู้คืนและตรวจสอบ
หากสร้างข้อเสนอใหม่จริงหลังคลี่คลายผลลัพธ์แรกแล้ว ให้บันทึกเป็นการอนุมัติอำนาจใหม่พร้อมหลักฐานปัจจุบัน อย่าอำพรางการเปลี่ยนปริมาณหรือเงื่อนไขราคาให้ดูเหมือนเป็นเพียงความพยายามอีกครั้งในการทำสิ่งเดิม
คำสั่งที่ยังไม่แน่ชัดของบอต Robinhood Crypto API
คำสั่งที่ยังไม่แน่ชัดของบอต Robinhood Crypto API ควรเป็นสถานะหลักที่ระบบรองรับอย่างชัดเจน การหมดเวลา การเชื่อมต่อขาด หรือคำตอบที่แยกวิเคราะห์ไม่ได้ อาจทำให้ไม่ทราบผล ไคลเอนต์ควรรักษายอดที่กันไว้ซึ่งเกี่ยวข้อง และตรวจหลักฐานคำสั่งที่มี ก่อนตัดสินว่าอนุญาตให้ดำเนินการอื่นหรือไม่
ไม่ทราบผลต่างจากถูกปฏิเสธ การปฏิเสธที่ยืนยันแล้วมักปล่อยภาระผูกพันได้ตามนโยบาย ผลที่ไม่ทราบยังอาจตรงกับคำสั่งที่รับหรือดำเนินการแล้ว การถือว่าทั้งสองกรณีล้มเหลวชักนำให้ส่วนอื่นของระบบนำวงเงินกลับมาใช้เร็วเกินไป
แสดงความไม่แน่นอนต่อเวิร์กเกอร์กลยุทธ์และผู้ปฏิบัติงาน ไม่ควรเป็นเพียงข้อยกเว้นส่วนตัวในฟังก์ชันไคลเอนต์หนึ่ง ขณะที่ส่วนประกอบอื่นทำต่อเสมือนบัญชีไม่เปลี่ยน สถานะร่วมจำเป็นเพื่อป้องกันการตัดสินใจขัดกันระหว่างกู้คืน
จัดประเภทข้อผิดพลาดก่อนจัดตารางความพยายามครั้งถัดไป
ฟิลด์ไม่ถูกต้อง สิทธิ์ที่ใช้ไม่ได้ คำตอบจำกัดอัตราคำขอ และบริการล้มเหลวชั่วคราว ให้ข้อมูลต่างกัน ข้อผิดพลาดในการตรวจสอบโดยทั่วไปต้องแก้ข้อเสนอหรือคำขอ ปัญหาสิทธิ์ต้องตรวจความสามารถ แรงกดดันด้านอัตราคำขออาจต้องเลื่อนงานที่สำคัญน้อยกว่า ไม่มีกรณีใดควรถูกจัดการด้วยลูปไร้เงื่อนไขแบบเดียวกัน
เก็บหมวดข้อผิดพลาดเดิมและบริบทที่ตัดข้อมูลอ่อนไหวออกแล้ว สรุปที่คนอ่านเข้าใจควรอธิบายการดำเนินการที่ได้รับผลและขั้นตอนถัดไปที่อนุญาต หลีกเลี่ยงการนำเสนอทุกความล้มเหลวเป็นความไม่สะดวกชั่วคราวที่ระบบจะเอาชนะได้ในที่สุดด้วยความพยายามต่อเนื่อง
เนื้อหาเรื่อง ซอฟต์แวร์เทรดเหรียญมีม มีประโยชน์เพราะความทนทานเป็นพฤติกรรมการปฏิบัติงาน ไม่ใช่แค่ตัวจัดการข้อยกเว้น ไคลเอนต์ควรทำให้จัดการความไม่แน่นอนได้ แทนเพียงรักษาโพรเซสให้ทำงานต่อ
จำกัดการลองซ้ำตามจุดประสงค์และต้นทุน
กำหนดนโยบายลองซ้ำที่มีขีดจำกัดเหมาะกับแต่ละการดำเนินการ และบันทึกเมื่อครบขีดจำกัด ขีดจำกัดอาจขึ้นกับเวลาที่ผ่านไป จำนวนครั้ง หรือช่วงที่ข้อเสนอยังใช้ได้ การส่งคำขอซ้ำหลังการตัดสินใจพื้นฐานหมดอายุอาจไม่รับใช้จุดประสงค์เดิมอีกต่อไป
ใช้ช่วงหน่วงที่เพิ่มขึ้นและมีความแปรผันตามความเหมาะสม เพื่อเลี่ยงการส่งเป็นระลอกพร้อมกันระหว่างไคลเอนต์ โดยทำตามแนวทางบริการที่มีเอกสารระบุ สิ่งเหล่านี้เป็นทางเลือกวิศวกรรมภายใน ไม่ใช่การระบุโควตาสากลของแพลตฟอร์มหรือเวลาที่ต้องใช้ นโยบายควรปรับได้ผ่านการตั้งค่าที่ผ่านการตรวจสอบ
เมื่อยุติการลองซ้ำ ให้รักษาปัญหาที่ยังไม่คลี่คลายอย่างเฉพาะเจาะจง ระบบอาจหยุดสร้างภาระใหม่ชั่วคราว ตรวจอ่านข้อมูลบางอย่างต่อ หรือขอการตรวจสอบ นโยบายมีขีดจำกัดจะมีประโยชน์ก็ต่อเมื่อกำหนดพฤติกรรมเมื่อสิ้นสุด แทนการทิ้งภาระอย่างเงียบ ๆ
การจัดสรรงบคำขอของบอต Robinhood Crypto API
การจัดสรรงบคำขอของบอต Robinhood Crypto API แบ่งความจุภายในให้การอ่านตลาด การตรวจบัญชี การกระทบยอดคำสั่ง และการวิเคราะห์ทางเลือก ภาระทางเศรษฐกิจที่มีอยู่ไม่ควรสูญเสียความจุสังเกตข้อมูลทั้งหมดเพียงเพราะการค้นพบสร้างตัวเลือกโทเคนหรือการซื้อขายใหม่ขึ้นมาจำนวนมากในคราวเดียว
สำหรับงบภายในสมมติ 100 คำขอต่อนาที แอปพลิเคชันอาจกัน 40 ไว้สำหรับกระทบยอดคำสั่งและบัญชี อีก 40 สำหรับข้อมูลตลาดที่จำเป็น และ 20 สำหรับการวิเคราะห์ทางเลือก เหล่านี้เป็นการจัดสรรภายในเพื่อประกอบตัวอย่าง ไม่ใช่ขีดจำกัด Robinhood จุดประสงค์คือทำให้ลำดับความสำคัญชัดเจนและวัดได้
ติดตามทั้งจำนวนคำขอและอายุงานค้าง คิวอาจยังสั้นกว่าความยาวสูงสุด ขณะที่การตรวจคำสั่งเก่าที่สุดล่าช้าจนยอมรับไม่ได้ การจัดสรรงบควรรักษาความสามารถในการคลี่คลายความเสี่ยง ไม่ใช่เพียงกันไม่ให้ไคลเอนต์เกินอัตราเฉลี่ยที่เลือก
ลดงานก่อนขยายคิว
เมื่อความต้องการเกินความจุ ให้ตัดสินว่างานใดรวม เลื่อน หรือทิ้งได้ สแนปช็อตทางเลือกที่ซ้ำกันอาจแทนด้วยฉบับใหม่กว่าได้ การตรวจคำสั่งที่ยังไม่คลี่คลายทิ้งไม่ได้เพียงเพราะมีคำขออื่นใหม่กว่า หมวดงานต้องมีนโยบายต่างกัน
แรงต้านเพื่อชะลอการรับงานควรส่งถึงชั้นกลยุทธ์ หากการสังเกตบัญชีที่จำเป็นล่าช้า อาจต้องหยุดข้อเสนอใหม่ การสร้างงานที่ดำเนินการซื้อขายได้ต่อไปขณะที่คิวกระทบยอดตามไม่ทันจะสร้างภาระเร็วกว่าที่ไคลเอนต์ทำความเข้าใจได้
บันทึกการตัดสินใจเมื่อเกินกำลัง ผู้ประเมินควรทราบว่าตัวเลือกโทเคนหรือการซื้อขายถูกกลยุทธ์ปฏิเสธ หรือไม่เคยถูกประเมินเพราะระบบกำลังปกป้องภาระที่มีอยู่ ความต่างนี้ช่วยวินิจฉัยว่าปัจจัยจำกัดคือตรรกะวิจัยหรือความจุปฏิบัติงาน
รักษาการยืนยันตัวตนให้สดใหม่โดยไม่เปลี่ยนเจตนา
ความพยายามที่ล่าช้าอาจต้องสร้างคำขอที่ยืนยันตัวตนใหม่ตามกฎเวลาประทับในเอกสาร การต่ออายุการยืนยันตัวตนไม่ได้สร้างเจตนาทางเศรษฐกิจใหม่ ไคลเอนต์ควรรักษาการดำเนินการที่อนุมัติแล้วและอัตลักษณ์ที่เกี่ยวข้องกับการทำซ้ำโดยไม่สร้างผลซ้ำ พร้อมปฏิบัติตามข้อกำหนดลงนามปัจจุบัน
ในทางกลับกัน ข้อเสนออาจหมดอายุแม้ต่ออายุการยืนยันตัวตนอย่างถูกต้อง ไคลเอนต์ต้องตรวจทั้งความใช้ได้ของคำขอและความใช้ได้ของการตัดสินใจ คำขอที่ยอมรับได้ทางเทคนิคไม่ควรบรรทุกการดำเนินการที่ราคาเสนอ วงเงินบัญชี หรือการอนุมัติใช้ไม่ได้แล้ว
แยกคำอธิบายความล้มเหลวสองแบบในบันทึก เวลาประทับคำขอหมดอายุกับข้อเสนอกลยุทธ์หมดอายุมีสาเหตุและวิธีแก้ต่างกัน การรวมเป็นข้อผิดพลาดล้าสมัยอย่างเดียวอาจทำให้ผู้ปฏิบัติงานปรับการตั้งค่าผิดจุด
ตรวจโครงสร้างคำตอบก่อนเชื่อถือ
คำตอบอาจมาถึงสำเร็จแต่มีรูปร่างไม่คาดหมาย ฟิลด์ขาด หรือเนื้อหาข้อผิดพลาด ตรวจเทียบกับแบบจำลองในเอกสารที่เกี่ยวกับเอนด์พอยต์และรุ่นนั้น อย่าแปลงปริมาณที่ไม่มีเป็นศูนย์ หรือคิดว่าสถานะที่ไม่คุ้นเคยหมายถึงเสร็จสมบูรณ์
เก็บรูปแบบแทนข้อมูลที่ไม่คาดหมายซึ่งตัดข้อมูลอ่อนไหวออกแล้วเพื่อสืบหา พร้อมหมวดคำขอและรุ่น ไคลเอนต์อาจระบุผลว่ายังไม่คลี่คลายและหาการสังเกตอื่นที่รองรับ วิธีนี้รักษาภาระทางเศรษฐกิจพร้อมป้องกันข้อมูลผิดรูปทำบัญชีแยกประเภทเสียหาย
ความยืดหยุ่นต่อสคีมาควรเป็นสิ่งที่ตั้งใจออกแบบ การละเลยฟิลด์ทางเลือกใหม่อาจสมเหตุสมผล แต่การละเลยตัวระบุคำสั่งที่ขาดอาจทำลายการกู้คืน ความต่างขึ้นกับบทบาทฟิลด์ ดังนั้นตัวแยกวิเคราะห์แบบรับทุกอย่างอย่างกว้าง ๆ ไม่ใช่นโยบายความเข้ากันได้ที่เชื่อถือได้
ติดตามการแบ่งหน้าโดยไม่เสียขอบเขต
การสืบหาคำสั่งอาจต้องใช้คำตอบมากกว่าหนึ่งหน้า รักษาบริบทบัญชีและตัวกรองตลอดการแบ่งหน้า และติดตามว่าช่วงที่เกี่ยวข้องครบหรือยัง ไคลเอนต์ที่อ่านเพียงหน้าแรกอาจสรุปผิดว่าไม่มีคำสั่งเก่า
ถือว่าตัวอ้างอิงการแบ่งหน้าเป็นข้อมูลบริการตามเอกสาร ตรวจขอบเขตปลายทางก่อนแนบข้อมูลรับรอง และหยุดเมื่อการอ้างอิงผิดรูปหรือวนซ้ำ โค้ดกู้คืนไม่ควรกลายเป็นตัวรวบรวมข้อมูลที่ยืนยันตัวตนแบบไร้ขอบเขตเพราะเชื่อทุก URL ที่ได้รับมาอย่างไม่ตรวจสอบ
บันทึกความครอบคลุมของข้อค้นพบเชิงลบ ไม่พบคำสั่งตรงกันในช่วงที่ตรวจแม่นยำกว่าไม่มีคำสั่งอยู่ อย่างหลังต้องมีหลักฐานเพียงพอและไม่ควรอนุมานจากการค้นหาบางส่วน
กระทบยอดการดำเนินการบางส่วนระหว่างกู้คืน
คำสั่งอาจเปลี่ยนขณะไคลเอนต์สืบหา การค้นอาจแสดงการดำเนินการบางส่วน แล้วภายหลังเป็นสถานะสิ้นสุด เก็บหลักฐานการดำเนินการสะสมและปรับภาระที่เหลือ แทนถือว่าคำตอบแต่ละครั้งเป็นเหตุการณ์ไม่เกี่ยวกัน
ในคำสั่งสมมติ 75 หน่วย มีการดำเนินการ 20 หน่วยก่อนสะดุด และอีก 15 หน่วยก่อนการยกเลิกเสร็จ สินทรัพย์ถือครองที่ได้คือ 35 หน่วย เหลือ 40 หน่วยที่ไม่ดำเนินการ กระบวนการกู้คืนที่ใช้เพียงคำตอบบางส่วนครั้งแรกจะรายงานสินทรัพย์ต่ำกว่าจริง 15 หน่วย
แนวคิดวงจรชีวิตในเรื่อง การเทรดเหรียญมีมอัตโนมัติ ช่วยนิยามผลที่ถูกต้อง การกู้คืนเสร็จต่อเมื่อไคลเอนต์อธิบายสินทรัพย์ถือครองจริงและภาระที่เหลือได้ ไม่ใช่เพียงเมื่อได้รับคำตอบคำสั่งที่ถูกต้องใด ๆ
วงจรชีวิตบอตขายคริปโตอัตโนมัติผ่าน Robinhood API ติดตามตัวอย่างฝั่งขายผ่านการดำเนินการเพิ่มเติมระหว่างยกเลิกและการตัดสินใจสร้างคำสั่งทดแทนที่มีขนาดถูกต้อง
ป้องกันไม่ให้หลายเวิร์กเกอร์รับผิดชอบการกู้คืนเดียวกัน
หลายเวิร์กเกอร์อาจพบเจตนาเดียวกันที่ยังไม่คลี่คลายหลังเริ่มระบบใหม่ กำหนดผู้รับผิดชอบการกู้คืนหนึ่งรายหรือกลไกประสานงานที่เทียบเท่า เพื่อไม่ให้แต่ละรายสร้างการดำเนินการทดแทนของตนเอง ตัวระบุร่วมอย่างเดียวไม่พอหากทุกเวิร์กเกอร์ตัดสินใจอย่างอิสระว่าต้องใช้อำนาจเพิ่ม
กลไกความรับผิดชอบต้องคำนึงถึงเวิร์กเกอร์ที่หยุดกลางการสืบหา เวิร์กเกอร์อื่นเข้ารับช่วงตามนโยบายที่กำหนดได้ โดยรักษาหลักฐานและเจตนาเดิม การส่งมอบไม่ควรรีเซ็ตประวัติความพยายามหรือปล่อยยอดกันไว้ก่อนเวลา
ทดสอบการกู้คืนซ้อนทับอย่างตั้งใจ เริ่มเวิร์กเกอร์ทดแทนขณะที่รายเดิมล่าช้า แล้วตรวจว่ามีเพียงการดำเนินการที่อนุญาตเกิดขึ้น การออกแบบที่พึ่งลำดับปิดระบบสมบูรณ์แบบมีจุดอ่อนในช่วงสะดุดที่มันควรจัดการ
ใช้โหมดจำกัดระหว่างบริการมีปัญหา
ไคลเอนต์ยังมีประโยชน์ได้โดยไม่มอบอำนาจปกติทั้งหมด ระหว่างบริการมีปัญหา อาจอ่านบัญชีบางอย่างต่อ รักษาการติดตามคำสั่ง และปิดกั้นภาระใหม่ กำหนดโหมดเหล่านี้ด้วยการดำเนินการที่อนุญาต แทนป้ายกำกับเสื่อมสภาพที่คลุมเครือ
ผู้ปฏิบัติงานควรทราบว่าขาดหลักฐานใดและสิ่งใดทำให้กลับมาทำงานต่อได้ โพรเซสกลับมาตอบสนองไม่ได้พิสูจน์ว่าช่องว่างในอดีตหรือคำสั่งที่ยังไม่คลี่คลายได้รับการจัดการแล้ว ความพร้อมเป็นของกระบวนงานทางเศรษฐกิจ ไม่ใช่เพียงการเชื่อมต่อเครือข่าย
เก็บการเปลี่ยนโหมดไว้ในสมุดบันทึก การประเมินภายหลังต้องทราบว่ากลยุทธ์เข้าถึงได้ต่อเนื่องหรือมีช่วงที่ขอบเขตถูกจำกัด วิธีนี้ป้องกันไม่ให้การสะดุดปฏิบัติงานถูกตีความผิดว่าเป็นการไม่ทำงานที่กลยุทธ์จงใจเลือก
ฝึกสถานการณ์ล้มเหลวด้วยแบบจำลองไคลเอนต์ที่ควบคุมได้
แบบจำลองทดสอบที่มีประโยชน์อาจทำคำตอบหายหลังรับคำขอ ส่งเพย์โหลดไม่ถูกต้อง หน่วงหน้า หรือรายงานการดำเนินการบางส่วนก่อนยกเลิก สถานการณ์เหล่านี้ทดสอบว่าไคลเอนต์รักษาเจตนาและสถานะหรือไม่ ไม่จำเป็นต้องอ้างว่าผลตลาดจำลองทำซ้ำสภาพคล่องจริงได้
กำหนดระเบียนที่คาดหมายและการดำเนินการที่อนุญาตก่อนรันแต่ละสถานการณ์ ไคลเอนต์ควรรักษายอดกันไว้ที่ถูกต้อง เลี่ยงภาระซ้ำ และสร้างสถานะที่คลี่คลายหรือยังไม่คลี่คลายอย่างเจาะจง การตรวจเพียงว่าในที่สุดฟังก์ชันคืนค่าหรือไม่ไม่ได้ทดสอบพฤติกรรมทางเศรษฐกิจ
ตรวจคำอธิบายที่แสดงแก่ผู้ปฏิบัติงานเป็นส่วนหนึ่งของการฝึกด้วย การกู้คืนที่ถูกต้องทางเทคนิคแต่ทำให้ผู้ใช้ระบุความเสี่ยงปัจจุบันไม่ได้ยังไม่สมบูรณ์ในมุมปฏิบัติงาน ระเบียนควรทำให้เข้าใจผลได้โดยไม่ต้องเข้าถึงข้อมูลวินิจฉัยที่มีความลับ
ตรวจตำแหน่งหมดเวลาทั้งสามแยกกัน
พิจารณาคำขอสมมติที่หมดเวลา กรณีแรก คำขอไม่เคยออกจากโพรเซสภายในเครื่อง กรณีที่สอง บริการรับแล้วแต่คำตอบหาย กรณีที่สาม คำตอบมาถึงแต่การบันทึกคงทนภายในเครื่องล้มเหลว กรณีเหล่านี้ให้ลักษณะอาการที่ผู้ใช้เห็นคล้ายกัน แต่เหลือหลักฐานสำหรับกู้คืนต่างกัน
ไคลเอนต์ควรเก็บบริบทความพยายามเพียงพอเพื่อจำกัดการสืบหาให้แคบลง โดยไม่ทำเสมือนว่าเครื่องมือติดตามการขนส่งพิสูจน์ผลทางเศรษฐกิจได้ ความล้มเหลวในการสร้างคำขอภายในเครื่องที่ยืนยันแล้วต่างจากความไม่แน่นอนหลังส่ง เมื่อคำขออาจไปถึงบริการแล้ว หลักฐานบัญชีกลายเป็นหัวใจสำคัญ
การจัดประเภทนี้ช่วยปรับปรุงการตอบสนองเหตุการณ์ โดยนำความสนใจไปยังขอบเขตที่เกี่ยวข้อง แทนการถือทุกการหมดเวลาเป็นเหตุให้เพิ่มเวลารอเครือข่าย การหมดเวลาที่นานขึ้นไม่อาจแก้เจตนาคงทนที่ขาดหายหรือตัวแยกวิเคราะห์คำตอบที่ผิด
อย่าเปลี่ยนการค้นหาไม่ครบให้เป็นข้อเท็จจริงเชิงลบ
การกู้คืนอาจหาคำสั่งไม่พบเพราะค้นผิดบัญชี ใช้ช่วงเวลาไม่ครบ หรืออ่านเพียงหน้าเดียว บันทึกขอบเขตค้นหาและแยกไม่พบรายการตรงกันออกจากยืนยันแล้วว่าไม่มี ความต่างสำคัญเมื่อตัดสินว่าการดำเนินการใหม่จะสร้างภาระซ้ำกับที่มีอยู่หรือไม่
ใช้บริบทเจตนาที่เก็บไว้เลือกวิธีสืบหา หากตัวระบุขาด ให้ยอมรับความแน่นอนที่ลดลงและทำตามนโยบายตรวจสอบ การเดาคำสั่งที่ตรงกันจากจำนวนคล้ายกันเพียงอย่างเดียวอาจนำผลซื้อขายของรายการอื่นไปผูกกับเจตนากลยุทธ์ผิดรายการ
ข้อค้นพบเชิงลบต้องมีหลักฐานเช่นเดียวกับข้อค้นพบเชิงบวก ไคลเอนต์ควรอธิบายว่าตรวจอะไรและเหตุใดความครอบคลุมนั้นเพียงพอต่อข้อสรุป แทนถือคำตอบว่างเป็นหลักฐานสากลว่าไม่มีอะไรเกิดขึ้น
ปิดระบบโดยไม่ลืมงานระหว่างดำเนินการ
การปิดระบบแบบควบคุมควรหยุดสร้างเจตนาใหม่ก่อนปิดส่วนประกอบที่จำเป็นต่อการบันทึกคงทนและตรวจงานที่มีอยู่ บันทึกความพยายามที่ยังไม่คลี่คลายและยอดที่กันไว้ แล้วทำให้การเริ่มครั้งถัดไปรับรู้เป็นภาระที่ต้องตรวจสอบ การยุติฉับพลันก็ต้องมีเส้นทางกู้คืนได้เช่นกัน
อย่าพึ่งเพียงฟังก์ชันเรียกกลับสำหรับเก็บกวาดที่อาจไม่เคยทำงาน ระเบียนคงทนควรมีเจตนาสำคัญอยู่แล้วก่อนขอบเขตคำขอที่ไม่แน่นอน การจัดการปิดระบบช่วยให้เปลี่ยนผ่านเป็นระเบียบขึ้นได้ แต่ชดเชยสถาปัตยกรรมที่เก็บสถานะทางเศรษฐกิจทั้งหมดไว้ในหน่วยความจำไม่ได้
ทดสอบการสะดุดหลายจุด รวมหลังรับคำตอบแต่ก่อนเก็บสถานะสุดท้าย ผลที่คาดหมายควรเป็นระเบียนที่กู้คืนและกระทบยอดได้ โดยไม่สร้างเจตนาที่สองหรือคิดว่าบัญชีกลับสู่สถานะก่อนหน้า
ป้องกันความล้มเหลวซ้ำบดบังความล้มเหลวใหม่
เหตุการณ์แรงกดดันด้านอัตราคำขอที่ต่อเนื่องอาจเกิดพร้อมปัญหาสิทธิ์หรือสคีมาใหม่ การรวมข้อผิดพลาดควรรักษาหมวดและการดำเนินการที่ได้รับผล เพื่อไม่ให้ปัญหาใหม่หายไปในจำนวนความล้มเหลวคุ้นเคยจำนวนมาก ข้อความซ้ำมีประโยชน์ต่อเมื่อความหมายยังแม่นยำ
เมื่อความล้มเหลวหลักเปลี่ยน ให้ปรับคำอธิบายเหตุการณ์และขั้นตอนถัดไป ไคลเอนต์อาจต้องหยุดลองซ้ำคำขอที่เคยถูกต้องแต่ตอนนี้ถูกปฏิเสธด้วยเหตุถาวร นโยบายกู้คืนควรตอบสนองหลักฐานใหม่ แทนตรึงอยู่กับการวินิจฉัยแรก
วิธีนี้ทำให้ความพยายามต่อเนื่องมีจุดประสงค์ ไคลเอนต์ทำงานที่จำเป็นต่อการยืนยันสถานะบัญชีต่อ ขณะเดียวกันก็ไม่ยอมแปลงข้อบกพร่องการตั้งค่าที่ยังไม่คลี่คลายเป็นลูปลองซ้ำเบื้องหลังไม่สิ้นสุด
แยกตัวชี้วัดการกู้คืนจากผลการซื้อขาย
วัดระยะเวลาที่ยังไม่คลี่คลาย ความพยายามซ้ำ การลองซ้ำจนหมดขีดจำกัด การสืบหาที่ไม่ครบ และความต่างในการกระทบยอด ตัวชี้วัดเหล่านี้แสดงว่าไคลเอนต์ทำหน้าที่ระหว่างความล้มเหลวได้หรือไม่ การเคลื่อนไหวตลาดที่เป็นผลดีอาจซ่อนการกู้คืนที่ไม่ดีชั่วคราว แต่ไม่ได้ยืนยันว่าการนำไปใช้งานถูกต้อง
ทบทวนรูปแบบแยกตามหมวด ข้อผิดพลาดตรวจสอบที่พบบ่อยส่อปัญหาการสร้างคำขอ ส่วนการถูกจำกัดอัตราซ้ำอาจส่อการจัดตารางไม่ดี ช่วงที่ยังไม่คลี่คลายนานอาจชี้ว่าความครอบคลุมการตรวจสถานะหรือการจัดลำดับคำขอไม่เพียงพอ แก้ที่สาเหตุ แทนเพิ่มขีดจำกัดลองซ้ำทุกอย่าง
ไคลเอนต์ที่แข็งแกร่งที่สุดอธิบายเจตนาทางเศรษฐกิจหนึ่งรายการผ่านการสื่อสารที่ไม่สมบูรณ์หลายครั้งได้ มันทราบว่ามีความพยายามใดเกิดขึ้น ยืนยันข้อเท็จจริงใดแล้ว และอะไรยังไม่ทราบ การกู้คืนอิงหลักฐานเช่นนี้เป็นรากฐานเชิงปฏิบัติของบอต API บัญชีที่ยังตรวจสอบได้เมื่อเครือข่ายไม่ทำงานอย่างที่หวัง