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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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