Model Sistem dan Arsitektur
Model arsitektur menjelaskan bagaimana komponen-komponen sistem terdistribusi diatur dan bagaimana tanggung jawab komputasi dan data dibagi di antara mereka.
Definition
Model arsitektur sistem terdistribusi menentukan jenis komponen (proses), peran yang dimainkannya, dan pola komunikasi serta ketergantungan di antara mereka, mengabstraksi dari mesin fisik tempat mereka berjalan.
Scope
Topik ini mencakup gaya arsitektur utama sistem terdistribusi: client-server, multitier (n-tier), peer-to-peer, dan organisasi hibrida, bersama dengan pola struktural seperti arsitektur berlapis (layered), berbasis objek, berpusat pada sumber daya (REST), dan berbasis peristiwa (event-based). Ini juga mencakup penempatan proses dan pertimbangan dalam pembagian, replikasi, dan caching komponen di seluruh mesin.
Core questions
- Bagaimana seharusnya tanggung jawab komputasi dan data dibagi di antara komponen?
- Kapan organisasi peer-to-peer lebih disukai daripada client-server?
- Gaya arsitektur apa yang paling mendukung skalabilitas dan evolvabilitas untuk beban kerja tertentu?
Key theories
- Organisasi Client-server dan multitier
- Komponen dibagi menjadi klien yang meminta dan server yang merespons, dan logika aplikasi dilapiskan di seluruh tingkatan presentasi, pemrosesan, dan data yang dapat didistribusikan secara independen untuk menyeimbangkan beban dan skala.
- Organisasi Peer-to-peer dan terdesentralisasi
- Semua node secara fungsional setara dan bertindak sebagai klien maupun server, memungkinkan overlay yang mengatur diri sendiri tanpa titik kontrol atau kegagalan pusat, dengan biaya mekanisme pencarian dan konsistensi yang lebih kompleks.
- Arsitektur berorientasi sumber daya (REST)
- Representational State Transfer menyusun sistem di sekitar sumber daya yang dapat dialamatkan yang dimanipulasi melalui antarmuka yang seragam dan tanpa status, sebuah gaya arsitektur yang diturunkan untuk menjelaskan dan memandu skalabilitas web.
Clinical relevance
Gaya arsitektur adalah keputusan awal dengan dampak tertinggi dalam desain sistem: ini mengatur skalabilitas, isolasi kesalahan (fault isolation), dan seberapa independen tim dapat mengembangkan komponen, serta mendasari pilihan antara penerapan monolitik, layanan mikro (microservice), dan peer-to-peer.
History
Arsitektur terdistribusi berevolusi dari mainframe terpusat ke komputasi client-server pada tahun 1980-an, ke sistem perusahaan multitier dan overlay peer-to-peer skala besar pada tahun 1990-an dan 2000-an, dan ke arsitektur web berorientasi sumber daya yang prinsip-prinsipnya diartikulasikan oleh disertasi REST Fielding pada tahun 2000.
Key figures
- Roy Fielding
- Andrew S. Tanenbaum
- Maarten van Steen
Related topics
Seminal works
- tanenbaum2017
- fielding2000
Frequently asked questions
- Apa perbedaan antara model arsitektur dan penerapan fisik?
- Model arsitektur menjelaskan komponen logis dan pola interaksinya, sementara penerapan fisik memetakan komponen-komponen tersebut ke mesin dan jaringan aktual. Satu model arsitektur dapat diterapkan dalam banyak konfigurasi fisik.