กลับไปหน้าบทความ

อ่าน 2 นาที

วัตถุกระจาย

ใน การประมวลผลแบบกระจาย (distributed computing ) วัตถุแบบกระจาย (distributed objects ) คือวัตถุ (ในความหมายของ การเขียนโปรแกรมเชิงวัตถุ ) ที่กระจายอยู่ทั่ว พื้นที่หน่วยความจำ...

วัตถุกระจาย

ภาพนี้แสดงถึงการสื่อสารระหว่างวัตถุที่กระจายอยู่ตามเครื่องคอมพิวเตอร์ต่าง ๆ

ในการประมวลผลแบบกระจาย (distributed computing ) วัตถุแบบกระจาย (distributed objects ) คือวัตถุ (ในความหมายของการเขียนโปรแกรมเชิงวัตถุ ) ที่กระจายอยู่ทั่วพื้นที่หน่วยความจำ ที่แตกต่างกัน ไม่ว่าจะเป็นในกระบวนการ ที่แตกต่างกัน บนคอมพิวเตอร์เครื่องเดียวกัน หรือแม้กระทั่งในคอมพิวเตอร์ หลายเครื่อง ที่เชื่อมต่อกันผ่านเครือข่ายแต่ทำงานร่วมกันโดยการแบ่งปันข้อมูลและเรียกใช้เมธอด ซึ่งมักเกี่ยวข้องกับความโปร่งใสของตำแหน่งที่ตั้ง (location transparency ) โดยที่วัตถุระยะไกลปรากฏเหมือนกับวัตถุในเครื่องเดียวกัน วิธีการสื่อสารหลักของวัตถุแบบกระจายคือการเรียกใช้เมธอดระยะไกลโดยทั่วไปแล้วจะใช้การส่งข้อความ (message-passing): วัตถุหนึ่งส่งข้อความไปยังวัตถุอื่นในเครื่องหรือกระบวนการระยะไกลเพื่อทำงานบางอย่าง ผลลัพธ์จะถูกส่งกลับไปยังวัตถุที่เรียกใช้

วัตถุแบบกระจายได้รับความนิยมในช่วงปลายทศวรรษ 1990 และต้นทศวรรษ 2000 แต่หลังจากนั้นก็ไม่ได้รับความนิยมอีกต่อไป[ 1 ]

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

  • อ็อบเจ็กต์จำลอง ( Rimplized objects ) คือกลุ่มของส่วนประกอบซอฟต์แวร์ (สำเนา ) ที่ทำงานตามโปรโตคอลแบบกระจายหลายฝ่าย เพื่อให้ได้ความสอดคล้องในระดับสูงระหว่างสถานะภายใน และตอบสนองต่อคำขอในลักษณะที่ประสานงานกัน การเรียกกลุ่มสำเนาเหล่านี้รวมกันว่าอ็อบเจ็กต์สะท้อนให้เห็นว่าการโต้ตอบกับสำเนาใดๆ ก็ตาม จะแสดงสถานะและพฤติกรรมที่มองเห็นได้จากภายนอกเหมือนกัน
  • อ็อบเจ็กต์แบบกระจายที่มีชีวิต (หรือเรียกง่ายๆ ว่าอ็อบเจ็กต์ที่มีชีวิต ) [ 2 ]ขยาย แนวคิด ของอ็อบเจ็กต์ที่จำลองแบบไปยังกลุ่มของสำเนาที่อาจใช้โปรโตคอลแบบกระจายใดๆ ภายใน ซึ่งอาจส่งผลให้มีความสอดคล้องกันเพียงเล็กน้อยระหว่างสถานะท้องถิ่นของพวกมัน อ็อบเจ็กต์แบบกระจายที่มีชีวิตยังสามารถกำหนดได้ว่าเป็นอินสแตนซ์ที่กำลังทำงานของโปรโตคอลแบบกระจายหลายฝ่าย โดยมองจากมุมมองเชิงวัตถุว่าเป็นเอนทิตีที่มีเอกลักษณ์เฉพาะตัว และสามารถห่อหุ้มสถานะและพฤติกรรมแบบกระจายได้

ดูเพิ่มเติมที่ชุดโปรโตคอลอินเทอร์เน็ต

วัตถุแบบโลคอลเทียบกับวัตถุแบบกระจาย

วัตถุในพื้นที่และวัตถุที่กระจายตัวแตกต่างกันในหลายแง่มุม[ 3 ] [ 4 ]นี่คือบางส่วน:

  1. วงจรชีวิต: การสร้าง การย้าย และการลบวัตถุแบบกระจายนั้นแตกต่างจากวัตถุแบบโลคอล
  2. อ้างอิง: การอ้างอิงระยะไกลไปยังวัตถุแบบกระจายมีความซับซ้อนมากกว่าตัวชี้ไปยังที่อยู่หน่วยความจำแบบธรรมดา
  3. ความหน่วงในการร้องขอ: การร้องขออ็อบเจ็กต์แบบกระจายนั้นช้ากว่าการเรียกใช้เมธอดในเครื่องหลายเท่าตัว
  4. การเปิดใช้งานวัตถุ: วัตถุแบบกระจายอาจไม่พร้อมใช้งานเพื่อตอบสนองคำขอวัตถุได้ตลอดเวลา
  5. การประมวลผลแบบขนาน: วัตถุแบบกระจายสามารถประมวลผลได้พร้อมกัน
  6. การสื่อสาร: มีรูปแบบการสื่อสารพื้นฐานหลายแบบให้เลือกใช้สำหรับการร้องขอวัตถุแบบกระจาย
  7. ความล้มเหลว: วัตถุแบบกระจายมีจุดที่อาจเกิดความล้มเหลวมากกว่าวัตถุแบบโลคอลทั่วไปมาก
  8. ความปลอดภัย: การกระจายข้อมูลทำให้ระบบเหล่านี้เสี่ยงต่อการถูกโจมตี

ตัวอย่าง

สิ่งอำนวยความสะดวก RPC ของโปรโตคอลการจัดลำดับข้ามแพลตฟอร์มCap'n Protoเทียบเท่ากับโปรโตคอลวัตถุแบบกระจาย การเรียกใช้เมธอดวัตถุแบบกระจายสามารถดำเนินการได้ (เชื่อมโยงกันในคำขอเครือข่ายเดียว หากจำเป็น) ผ่านการอ้างอิงอินเทอร์เฟซ/ ความสามารถ[ 5 ]

อ็อบเจ็กต์แบบกระจายถูกนำไปใช้ในObjective-Cโดยใช้Cocoa APIร่วมกับคลาส NSConnection และอ็อบเจ็กต์สนับสนุนอื่นๆ

อ็อบเจ็กต์แบบกระจายถูกใช้ในJava RMI

CORBAช่วยให้สามารถสร้างระบบแบบผสมผสานเชิงวัตถุแบบกระจายได้

DCOMคือเฟรมเวิร์กสำหรับระบบวัตถุแบบกระจายบนแพลตฟอร์มของ Microsoft

DDObjectsเป็นเฟรมเวิร์กสำหรับสร้างอ็อบเจ็กต์แบบกระจายโดยใช้ Borland Delphi

Jt คือเฟรมเวิร์กสำหรับส่วนประกอบแบบกระจายที่ใช้รูปแบบการส่งข้อความ

JavaSpacesเป็นข้อกำหนดของ Sun สำหรับหน่วยความจำแบบกระจายและใช้หน่วยความจำร่วมกัน (แบบอิงพื้นที่)

Pyroคือเฟรมเวิร์กสำหรับวัตถุแบบกระจายโดยใช้ภาษา โปรแกรม Python

Distributed Ruby (DRb) คือเฟรมเวิร์กสำหรับวัตถุแบบกระจายโดยใช้ภาษาโปรแกรม Ruby

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Distributed_object&oldid=1337295857 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ วัตถุกระจาย

ใน การประมวลผลแบบกระจาย (distributed computing ) วัตถุแบบกระจาย (distributed objects ) คือวัตถุ (ในความหมายของ การเขียนโปรแกรมเชิงวัตถุ ) ที่กระจายอยู่ทั่ว พื้นที่หน่วยความจำ...

วัตถุแบบโลคอลเทียบกับวัตถุแบบกระจาย

วัตถุในพื้นที่และวัตถุที่กระจายตัวแตกต่างกันในหลายแง่มุม [ 3 ] [ 4 ] นี่คือบางส่วน:

ตัวอย่าง

สิ่งอำนวยความสะดวก RPC ของโปรโตคอลการจัดลำดับข้ามแพลตฟอร์ม Cap'n Proto เทียบเท่ากับโปรโตคอลวัตถุแบบกระจาย การเรียกใช้เมธอดวัตถุแบบกระจายสามารถดำเนินการได้ (เชื่อมโยงกันในคำขอเครือข่ายเดียว หากจำเป็น) ผ่านการอ้างอิงอินเทอร์เฟซ/ ความ สามารถ [ 5 ]

ดูเพิ่มเติม

วัตถุที่แตกเป็นชิ้นๆ การสื่อสารวัตถุแบบกระจาย ตัวกลางร้องขอวัตถุ ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Distributed_object&oldid=1337295857 "