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

ในการประมวลผลแบบกระจาย (distributed computing ) วัตถุแบบกระจาย (distributed objects ) คือวัตถุ (ในความหมายของการเขียนโปรแกรมเชิงวัตถุ ) ที่กระจายอยู่ทั่วพื้นที่หน่วยความจำ ที่แตกต่างกัน ไม่ว่าจะเป็นในกระบวนการ ที่แตกต่างกัน บนคอมพิวเตอร์เครื่องเดียวกัน หรือแม้กระทั่งในคอมพิวเตอร์ หลายเครื่อง ที่เชื่อมต่อกันผ่านเครือข่ายแต่ทำงานร่วมกันโดยการแบ่งปันข้อมูลและเรียกใช้เมธอด ซึ่งมักเกี่ยวข้องกับความโปร่งใสของตำแหน่งที่ตั้ง (location transparency ) โดยที่วัตถุระยะไกลปรากฏเหมือนกับวัตถุในเครื่องเดียวกัน วิธีการสื่อสารหลักของวัตถุแบบกระจายคือการเรียกใช้เมธอดระยะไกลโดยทั่วไปแล้วจะใช้การส่งข้อความ (message-passing): วัตถุหนึ่งส่งข้อความไปยังวัตถุอื่นในเครื่องหรือกระบวนการระยะไกลเพื่อทำงานบางอย่าง ผลลัพธ์จะถูกส่งกลับไปยังวัตถุที่เรียกใช้
วัตถุแบบกระจายได้รับความนิยมในช่วงปลายทศวรรษ 1990 และต้นทศวรรษ 2000 แต่หลังจากนั้นก็ไม่ได้รับความนิยมอีกต่อไป[ 1 ]
คำนี้อาจหมายถึงส่วนขยายของแนวคิดพื้นฐานของวัตถุ ที่ใช้ในบริบทของการ ประมวล ผลแบบกระจาย เช่นวัตถุจำลองหรือวัตถุแบบกระจายที่มีชีวิต
- อ็อบเจ็กต์จำลอง ( Rimplized objects ) คือกลุ่มของส่วนประกอบซอฟต์แวร์ (สำเนา ) ที่ทำงานตามโปรโตคอลแบบกระจายหลายฝ่าย เพื่อให้ได้ความสอดคล้องในระดับสูงระหว่างสถานะภายใน และตอบสนองต่อคำขอในลักษณะที่ประสานงานกัน การเรียกกลุ่มสำเนาเหล่านี้รวมกันว่าอ็อบเจ็กต์สะท้อนให้เห็นว่าการโต้ตอบกับสำเนาใดๆ ก็ตาม จะแสดงสถานะและพฤติกรรมที่มองเห็นได้จากภายนอกเหมือนกัน
- อ็อบเจ็กต์แบบกระจายที่มีชีวิต (หรือเรียกง่ายๆ ว่าอ็อบเจ็กต์ที่มีชีวิต ) [ 2 ]ขยาย แนวคิด ของอ็อบเจ็กต์ที่จำลองแบบไปยังกลุ่มของสำเนาที่อาจใช้โปรโตคอลแบบกระจายใดๆ ภายใน ซึ่งอาจส่งผลให้มีความสอดคล้องกันเพียงเล็กน้อยระหว่างสถานะท้องถิ่นของพวกมัน อ็อบเจ็กต์แบบกระจายที่มีชีวิตยังสามารถกำหนดได้ว่าเป็นอินสแตนซ์ที่กำลังทำงานของโปรโตคอลแบบกระจายหลายฝ่าย โดยมองจากมุมมองเชิงวัตถุว่าเป็นเอนทิตีที่มีเอกลักษณ์เฉพาะตัว และสามารถห่อหุ้มสถานะและพฤติกรรมแบบกระจายได้
ดูเพิ่มเติมที่ชุดโปรโตคอลอินเทอร์เน็ต
วัตถุแบบโลคอลเทียบกับวัตถุแบบกระจาย
วัตถุในพื้นที่และวัตถุที่กระจายตัวแตกต่างกันในหลายแง่มุม[ 3 ] [ 4 ]นี่คือบางส่วน:
- วงจรชีวิต: การสร้าง การย้าย และการลบวัตถุแบบกระจายนั้นแตกต่างจากวัตถุแบบโลคอล
- อ้างอิง: การอ้างอิงระยะไกลไปยังวัตถุแบบกระจายมีความซับซ้อนมากกว่าตัวชี้ไปยังที่อยู่หน่วยความจำแบบธรรมดา
- ความหน่วงในการร้องขอ: การร้องขออ็อบเจ็กต์แบบกระจายนั้นช้ากว่าการเรียกใช้เมธอดในเครื่องหลายเท่าตัว
- การเปิดใช้งานวัตถุ: วัตถุแบบกระจายอาจไม่พร้อมใช้งานเพื่อตอบสนองคำขอวัตถุได้ตลอดเวลา
- การประมวลผลแบบขนาน: วัตถุแบบกระจายสามารถประมวลผลได้พร้อมกัน
- การสื่อสาร: มีรูปแบบการสื่อสารพื้นฐานหลายแบบให้เลือกใช้สำหรับการร้องขอวัตถุแบบกระจาย
- ความล้มเหลว: วัตถุแบบกระจายมีจุดที่อาจเกิดความล้มเหลวมากกว่าวัตถุแบบโลคอลทั่วไปมาก
- ความปลอดภัย: การกระจายข้อมูลทำให้ระบบเหล่านี้เสี่ยงต่อการถูกโจมตี
ตัวอย่าง
สิ่งอำนวยความสะดวก 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
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ วัตถุกระจาย
ใน การประมวลผลแบบกระจาย (distributed computing ) วัตถุแบบกระจาย (distributed objects ) คือวัตถุ (ในความหมายของ การเขียนโปรแกรมเชิงวัตถุ ) ที่กระจายอยู่ทั่ว พื้นที่หน่วยความจำ...
วัตถุแบบโลคอลเทียบกับวัตถุแบบกระจาย
วัตถุในพื้นที่และวัตถุที่กระจายตัวแตกต่างกันในหลายแง่มุม [ 3 ] [ 4 ] นี่คือบางส่วน:
ตัวอย่าง
สิ่งอำนวยความสะดวก RPC ของโปรโตคอลการจัดลำดับข้ามแพลตฟอร์ม Cap'n Proto เทียบเท่ากับโปรโตคอลวัตถุแบบกระจาย การเรียกใช้เมธอดวัตถุแบบกระจายสามารถดำเนินการได้ (เชื่อมโยงกันในคำขอเครือข่ายเดียว หากจำเป็น) ผ่านการอ้างอิงอินเทอร์เฟซ/ ความ สามารถ [ 5 ]
ดูเพิ่มเติม
วัตถุที่แตกเป็นชิ้นๆ การสื่อสารวัตถุแบบกระจาย ตัวกลางร้องขอวัตถุ ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Distributed_object&oldid=1337295857 "