เรียกใช้ธุรกรรม

การเรียกใช้ธุรกรรม ใช้สำหรับการเรียกใช้คำสั่งคลัสเตอร์อย่างน้อย 1 รายการในโหนดเป้าหมาย ซึ่งคล้ายกับการเรียกใช้โพรซีเยอร์ระยะไกล (RPC) ที่ส่งไปยังคำสั่งที่กำหนดไว้ในคลัสเตอร์

การเรียกใช้ธุรกรรมรองรับธุรกรรมแบบกำหนดเวลาและไม่กำหนดเวลาในลักษณะเดียวกับธุรกรรมการเขียน โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับธุรกรรมแบบกำหนดเวลาในส่วนการดำเนินการแบบกำหนดเวลาและไม่กำหนดเวลา

การเรียกใช้ธุรกรรมแบบไม่กำหนดเวลา

ลำดับการดำเนินการของธุรกรรมการเรียกใช้แบบไม่จำกัดเวลา
รูปที่ 1: การเรียกใช้ธุรกรรมแบบไม่กำหนดเวลา

การดำเนินการตามคำขอเรียกใช้

ทิศทาง: ผู้ริเริ่ม -> เป้าหมาย

การดำเนินการนี้คล้ายกับการดำเนินการตามคำขออ่านและการดำเนินการตามคำขอเขียน โดยผู้ริเริ่มจะระบุข้อมูลต่อไปนี้ให้กับเป้าหมาย

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

การดำเนินการตอบกลับการเรียกใช้

ทิศทาง: เป้าหมาย -> ผู้ริเริ่ม

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

  • การตอบกลับการเรียกใช้: รายการการตอบกลับคำสั่งหรือสถานะสำหรับคำขอเรียกใช้ที่ส่งแต่ละรายการ
  • รหัสการโต้ตอบ: จำนวนเต็มที่ใช้สำหรับการจับคู่การดำเนินการตอบกลับการเรียกใช้กับการดำเนินการตามคำขอเรียกใช้

ข้อจำกัดในการเรียกใช้แบบไม่กำหนดเวลา

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

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

การเรียกใช้ธุรกรรมแบบกำหนดเวลา

การเรียกใช้ธุรกรรมแบบกำหนดเวลาจะเริ่มต้นด้วยการดำเนินการตามคำขอแบบกำหนดเวลาเช่นเดียวกับการเขียนธุรกรรมแบบกำหนดเวลา

ลำดับการดำเนินการของธุรกรรมการเรียกใช้ที่กำหนดเวลา
รูปที่ 2: การเรียกใช้ธุรกรรมแบบกำหนดเวลา

การดำเนินการตามคำขอแบบกำหนดเวลา

ทิศทาง: ผู้ริเริ่ม -> เป้าหมาย

ผู้ริเริ่มจะเริ่มธุรกรรมโดยส่งการดำเนินการนี้ที่มีข้อมูลต่อไปนี้

  • การหมดเวลา: จำนวนมิลลิวินาทีที่ธุรกรรมนี้จะยังคงเปิดอยู่ ในช่วงเวลานี้ ระบบจะถือว่าการดำเนินการถัดไปที่ผู้ริเริ่มส่งมานั้นถูกต้อง

เมื่อเป้าหมายได้รับการดำเนินการตามคำขอแบบกำหนดเวลาแล้ว เป้าหมายจะต้องรับทราบการดำเนินการตามคำขอแบบกำหนดเวลาด้วยการดำเนินการตอบกลับสถานะ เมื่อผู้ริเริ่มได้รับการดำเนินการตอบกลับสถานะที่รายงานว่าไม่มีข้อผิดพลาด ผู้ริเริ่มจะส่งการดำเนินการตามคำขอเรียกใช้

การดำเนินการตามคำขอเรียกใช้

เหมือนกับการดำเนินการตามคำขอเรียกใช้ที่อธิบายไว้ก่อนหน้านี้

การดำเนินการตอบกลับการเรียกใช้

เหมือนกับการดำเนินการตอบกลับการเรียกใช้ที่อธิบายไว้ก่อนหน้านี้

ข้อจำกัดในการเรียกใช้แบบกำหนดเวลา

คำสั่งเรียกใช้ทั้งหมดสามารถเรียกใช้ในการโต้ตอบแบบกำหนดเวลาได้ การดำเนินการตามคำขอแบบกำหนดเวลา การดำเนินการตามคำขอเรียกใช้ และการดำเนินการตอบกลับการเรียกใช้เป็นการส่งแบบ Unicast-เท่านั้น จึงใช้เป็นการส่งแบบกลุ่มในการเรียกใช้ธุรกรรมแบบกำหนดเวลา ไม่ได้

การดำเนินการตามคำขอเรียกใช้รองรับการใช้เส้นทางที่มีกลุ่ม รวมถึงไวลด์การ์ด แต่การดำเนินการตอบกลับการเรียกใช้ไม่รองรับการใช้ไวลด์การ์ด