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

Invoke Transactions ใช้เพื่อเรียกใช้ Cluster Command อย่างน้อย 1 รายการใน Target Node ซึ่งคล้ายกับการเรียกใช้โพรซีเยอร์ระยะไกลที่ทำกับคำสั่งที่กำหนด ในคลัสเตอร์

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

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

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

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

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

เช่นเดียวกับ Read Request Action และ Write Request Action ใน Action นี้ ผู้เริ่มจะระบุข้อมูลต่อไปนี้ให้กับเป้าหมาย

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

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

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

หลังจากที่เป้าหมายได้รับ Invoke Request Action แล้ว จะดำเนินการธุรกรรมให้เสร็จสมบูรณ์ด้วย Invoke Response Action ซึ่งมีข้อมูลต่อไปนี้

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

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

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

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

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

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

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

การดำเนินการตามคำขอที่กำหนดเวลา

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

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

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

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

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

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

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

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

ข้อจำกัดการเรียกใช้ตามเวลา

เรียกใช้คำสั่งเรียกใช้ทั้งหมดได้ในการโต้ตอบแบบกำหนดเวลา Timed Request Action, Invoke Request Action และ Invoke Response Action เป็น Unicastเท่านั้น จึงใช้เป็น Groupcast ในธุรกรรม Timed Invoke ไม่ได้

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