IOSOR ความรู้

รางสำรองที่สอง: การส่งมอบโดยไม่มีการหักเงินซ้ำ

เรียนรู้วิธีประสานงานตัวกระตุ้นการสำรองคูระหวางทีมกำหนดเส้นทางและทีมปฏิบัติการโดยไม่ก่อให้เกิดยอดคงเหลือซ้ำซ้อน

รางสำรองที่สอง: การส่งมอบโดยไม่มีการหักเงินซ้ำ.

การชนกันของสิทธิ์ความเป็นเจ้าของในการสำรองคู่

เมื่อผู้ให้บริการต้นทางหยุดยืนยันข้อความ ทีมงานระบบอัตโนมัติสองทีมมักจะรีบกู้คืนอัตราการส่งมอบ เครื่องมือตรวจสอบสุขภาพของทีมกำหนดเส้นทางตรวจพบความหน่วงที่เพิ่มขึ้นและสลับสวิตช์ พร้อมกันนั้น ทีมปฏิบัติการจะตรวจสอบ คู่มือการปฏิบัติงาน Failover เมื่อปริมาณการใช้งานจริงทำงานอยู่แล้ว และบังคับสลับไปยังเส้นทางสำรองโดยใช้มือ หากไม่มีเมทริกซ์ RACI ที่ชัดเจน ทั้งสองระบบจะพยายามผลักดันคิวผ่านตัวแปลงรางสองตัวที่แตกต่างกันพร้อมกัน.

อันตรายของการหักเงินซ้ำเมื่อส่งซ้ำ

เมื่อระบบคู่ทำงานพร้อมกัน ผู้รับจะได้รับข้อความ OTP หรือ SMS ซ้ำ ที่สำคัญยิ่งกว่าสำหรับ CPaaS แบบพรีเพย์ป้ายขาว บัญชีแยกประเภทมีความเสี่ยงที่จะหักเงินจากบัญชีผู้เช่าสองครั้งสำหรับการพยายามส่งเพียงครั้งเดียว การปกป้องขั้นต่ำพรีเพย์ USD 20 จำเป็นต้องมีการล็อกธุรกรรมที่เข้มงวด หากราง A ถือยอดคงเหลือในขณะที่ราง B ส่งซ้ำ การกระทบยอดทางการเงินจะล้มเหลวเว้นแต่ทุกเพย์โหลดขาออกจะมีโทเค็น idempotency ที่เปลี่ยนแปลงไม่ได้.

โปรโตคอลการส่งมอบรางแบบอะตอมิก

เพื่อป้องกันเงื่อนไขการแข่งขัน เอ็นจิ้นการกำหนดเส้นทางต้องถือสิทธิ์การเขียนแบบพิเศษไปยังสเตทแมชชีนในระหว่างเหตุการณ์สำรอง เมื่อสลับราง ระบบจะออกการจอง JIT บนเกตเวย์ผู้ให้บริการสำรองในขณะที่ปล่อยการถือครองหลัก สิ่งนี้รับประกันสถานการณ์ การส่งเฟลโอเวอร์บางส่วนโดยไม่มีค่าใช้จ่ายซ้ำ แม้ว่า DLR ของผู้ให้บริการหลักจะมาถึงล่าช้าหลายนาทีในขณะที่เส้นทางสำรองใช้งานอยู่แล้ว.

แท็กบัญชีแยกประเภทและการล็อกความพร้อมเพรียง

การล็อกความพร้อมเพรียงทำงานในระดับแถวฐานข้อมูล ก่อนที่สคริปต์ผู้ปฏิบัติงานจะส่งชุดงานผ่านรางสำรอง ระบบจะตรวจสอบการล็อก redis สำหรับ ID แคมเปญนั้นๆ หากผู้จัดส่งหลักอ้างสิทธิ์โทเค็นไปแล้ว ตัวกระตุ้นสำรองจะถูกยกเลิกทันที สำหรับบัญชีที่มีปริมาณสูงขึ้นซึ่งใกล้จะถึงการตรวจสอบแบบนุ่มนวลใกล้ USD 1,000/เดือน การล็อกเหล่านี้จะช่วยป้องกันลูปการลองใหม่ที่อาจระบายยอดคงเหลือของผู้เช่าภายในไม่กี่วินาที.

การยกเลิกความซ้ำซ้อนของเว็บฮุกระหว่างการสลับราง

การสลับผู้ให้บริการมักทำให้เกิดการส่งเว็บฮุกซ้ำ เนื่องจากทั้งเส้นทางที่ล้มเหลวและเส้นทางสำรองล้างบัฟเฟอร์สถานะสุดท้าย แอปพลิเคชันปลายทางต้องตรวจสอบ ID เหตุการณ์เทียบกับแคชการยกเลิกความซ้ำซ้อนระยะสั้น สำหรับรูปแบบสถาปัตยกรรมที่เจาะลึกยิ่งขึ้นเกี่ยวกับการจัดการการแจ้งเตือนซ้ำ โปรดศึกษาเอกสาร Webhook ที่ซ้ำกันต้องไม่สร้างการหักเงินครั้งที่สอง เพื่อให้แน่ใจว่าการกระทบยอดการเรียกเก็บเงินของคุณยังคงสะอาดบริสุทธิ์.

เริ่มต้นด้วย IOSOR เพื่อการกำหนดเส้นทางที่แข็งแกร่ง

ตั้งชื่อคนเดียวที่อนุญาตให้พลิกรางที่สอง ตอน hop ล็อก intent ปล่อย hold หลัก แล้วเปิด JIT สำรองหนึ่งรายการบนทางสำรอง — intent เดียวกัน เขียนแบบผูกขาด ถ้ามอนิเตอร์สุขภาพกับเวรยิงพร้อมกัน ให้ยกเลิกทริกเกอร์ที่สอง การส่งมอบคือเจ้าของมีชื่อบวกกุญแจ ไม่ใช่ RATE กว้างกว่า และไม่ใช่ debit ที่สอง

สรุป IOSOR

การส่งมอบรางที่สองตายเมื่อสองคนพลิก intent เดียวกัน.

ทำ: ตั้งชื่อคนพลิก และยกเลิกทริกเกอร์ที่สอง.

อย่า: ปล่อยมอนิเตอร์กับเพจเจอร์ดันทางสำรองพร้อมกัน.

คู่มือนี้มีประโยชน์ไหม?

คู่มือที่เกี่ยวข้อง