แบบจำลองระบบและสถาปัตยกรรม
แบบจำลองสถาปัตยกรรมอธิบายว่าส่วนประกอบของระบบแบบกระจายตัวถูกจัดระเบียบอย่างไร และมีการแบ่งความรับผิดชอบสำหรับการประมวลผลและข้อมูลระหว่างส่วนประกอบเหล่านั้นอย่างไร
Definition
แบบจำลองสถาปัตยกรรมของระบบแบบกระจายตัวระบุประเภทของส่วนประกอบ (กระบวนการ) บทบาทที่ส่วนประกอบเหล่านั้นมี และรูปแบบการสื่อสารและการพึ่งพากันระหว่างส่วนประกอบเหล่านั้น โดยละเว้นรายละเอียดเกี่ยวกับเครื่องจักรทางกายภาพที่ส่วนประกอบเหล่านั้นทำงานอยู่
Scope
หัวข้อนี้ครอบคลุมรูปแบบสถาปัตยกรรมหลักของระบบแบบกระจายตัว ได้แก่ ไคลเอนต์-เซิร์ฟเวอร์, หลายชั้น (n-tier), เพียร์ทูเพียร์ และการจัดระเบียบแบบไฮบริด รวมถึงรูปแบบโครงสร้าง เช่น สถาปัตยกรรมแบบเลเยอร์, แบบอิงวัตถุ, แบบเน้นทรัพยากร (REST) และแบบอิงเหตุการณ์ นอกจากนี้ยังครอบคลุมถึงการจัดวางกระบวนการและการแลกเปลี่ยนในการแบ่งส่วน การจำลองแบบ และการแคชส่วนประกอบต่างๆ ข้ามเครื่องจักร
Core questions
- ควรแบ่งความรับผิดชอบสำหรับการประมวลผลและข้อมูลระหว่างส่วนประกอบต่างๆ อย่างไร?
- เมื่อใดที่การจัดระเบียบแบบเพียร์ทูเพียร์ดีกว่าแบบไคลเอนต์-เซิร์ฟเวอร์?
- รูปแบบสถาปัตยกรรมใดที่สนับสนุนความสามารถในการปรับขนาดและความสามารถในการพัฒนาสำหรับปริมาณงานที่กำหนดได้ดีที่สุด?
Key theories
- การจัดระเบียบแบบไคลเอนต์-เซิร์ฟเวอร์และหลายชั้น
- ส่วนประกอบถูกแบ่งออกเป็นไคลเอนต์ที่ร้องขอและเซิร์ฟเวอร์ที่ตอบสนอง และตรรกะของแอปพลิเคชันถูกจัดเรียงเป็นชั้นๆ ข้ามชั้นการนำเสนอ การประมวลผล และข้อมูล ซึ่งสามารถกระจายได้อย่างอิสระเพื่อปรับสมดุลโหลดและขนาด
- เพียร์ทูเพียร์และการจัดระเบียบแบบกระจายอำนาจ
- โหนดทั้งหมดมีฟังก์ชันการทำงานที่เทียบเท่ากันและทำหน้าที่ทั้งไคลเอนต์และเซิร์ฟเวอร์ ทำให้สามารถสร้างเครือข่ายแบบจัดระเบียบตัวเองได้โดยไม่มีจุดควบคุมหรือจุดล้มเหลวส่วนกลาง แต่ต้องแลกมาด้วยกลไกการค้นหาและความสอดคล้องกันที่ซับซ้อนมากขึ้น
- สถาปัตยกรรมเชิงทรัพยากร (REST)
- Representational State Transfer จัดโครงสร้างระบบรอบทรัพยากรที่สามารถระบุตำแหน่งได้ ซึ่งถูกจัดการผ่านอินเทอร์เฟซที่เป็นมาตรฐานและไร้สถานะ ซึ่งเป็นรูปแบบสถาปัตยกรรมที่พัฒนาขึ้นเพื่ออธิบายและชี้นำความสามารถในการปรับขนาดของเว็บ
Clinical relevance
รูปแบบสถาปัตยกรรมเป็นการตัดสินใจเบื้องต้นที่มีผลกระทบสูงที่สุดในการออกแบบระบบ: เป็นตัวกำหนดความสามารถในการปรับขนาด การแยกข้อผิดพลาด และความสามารถในการพัฒนาส่วนประกอบของทีมได้อย่างอิสระ และเป็นพื้นฐานในการเลือกระหว่างการปรับใช้แบบโมโนลิธ, ไมโครเซอร์วิส และเพียร์ทูเพียร์
History
สถาปัตยกรรมแบบกระจายตัวมีการพัฒนาจากเมนเฟรมแบบรวมศูนย์ไปสู่การประมวลผลแบบไคลเอนต์-เซิร์ฟเวอร์ในช่วงทศวรรษ 1980 ไปสู่ระบบองค์กรแบบหลายชั้นและเครือข่ายเพียร์ทูเพียร์ขนาดใหญ่ในช่วงทศวรรษ 1990 และ 2000 และไปสู่สถาปัตยกรรมเว็บที่เน้นทรัพยากร ซึ่งหลักการเหล่านี้ได้รับการอธิบายโดยวิทยานิพนธ์ REST ของ Fielding ในปี 2000
Key figures
- Roy Fielding
- Andrew S. Tanenbaum
- Maarten van Steen
Related topics
Seminal works
- tanenbaum2017
- fielding2000
Frequently asked questions
- ความแตกต่างระหว่างแบบจำลองสถาปัตยกรรมและการปรับใช้ทางกายภาพคืออะไร?
- แบบจำลองสถาปัตยกรรมอธิบายส่วนประกอบเชิงตรรกะและรูปแบบการโต้ตอบของส่วนประกอบเหล่านั้น ในขณะที่การปรับใช้ทางกายภาพจะแมปส่วนประกอบเหล่านั้นเข้ากับเครื่องจักรและเครือข่ายจริง แบบจำลองสถาปัตยกรรมหนึ่งแบบสามารถปรับใช้ได้ในหลายการกำหนดค่าทางกายภาพ