Materi 2 Arsitektur sistem terdistribusi .pdf

harissandi23 0 views 31 slides Oct 03, 2025
Slide 1
Slide 1 of 31
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31

About This Presentation

sistem terdistribusi 2


Slide Content

Sistem Terdistribusi
Materi 2
Arsitektur Sistem Terdistribusi

Capaian Pembelajaran
Menjelaskan konsep Arsitektur Sistem Terdistribusi

Pokok Bahasan
Arsitektur Sistem Terdistribusi
Arsitektur Software
Gaya Arsitektur Software
Arsitektur Sistem
Perbandingan Arsitektur dengan Middleware
Pendekatan Umum untuk Perangkat Lunak Adaptif
Manajemen Mandiri dalam Sistem Terdistribusi

Arsitektur Sistem Terdistribusi
Kompleksitas dan Organisasi: Sistem terdistribusi terdiri dari bagian-bagian software
yang kompleks dan terorganisasi dengan baik di berbagai mesin.
Arsitektur Software: Menunjukkan bagaimana komponen software diorganisasi dan
berinteraksi.
Realisasi Aktual: Membutuhkan instansiasi dan penempatan komponen software
pada lingkungan sebenarnya, disebut sebagai sistem arsitektur.
Arsitektur Terpusat: Server utama mengandung hampir semua komponen software
dan fungsional, dengan remote client yang mengakses server.
Arsitektur Tidak Terpusat: Sejumlah mesin memiliki peran yang sama, seperti dalam
organisasi hybrid.
Tujuan Sistem Terdistribusi: Memecah aplikasi menjadi tingkatan penyedia sebagai
middleware untuk mencapai layanan terdistribusi yang transparan.

Arsitektur Software
Mepertimbangkan bahwa logika organisasi dari sistem terdistibusi sebagai
komponen software yang disebut sebagai arsitektur software.
Arsitektur software adalah penting pada sistem terdistribusi, karena
arsitektur sendiri bertujuan untuk mendapatkan tranparansi distribusi
dimana dibutuhkan pada trade-offs proses antara performa, toleransi
kegagalan, kemudahan pemrograman dan lain sebagainya.

Gaya Arsitektur Software
Gaya arsitektur software :
· Jenis komponen
· Cara komponen terhubung
· Pertukaran data antar komponen
· Bagaimana elemen-elemen ini secara bersama-sama dikonfigurasi ke dalam
suatu sistem.
Komponen perangkat lunak merupakan unit modular dengan antarmuka yang
terdefinisi dengan baik, diperlukan dan disiapkan yang dapat diganti dalam
lingkungannya.
Penghubung merupakan mekanisme yang memediasi komunikasi, koordinasi,
atau kerja sama antar komponen, misalnya konektor dapat dibentuk dengan
fasilitas untuk (remote) procedure call, message passing, atau streaming data.

Bentuk Arsitektur Sistem Terdistribusi
1. Layered architectures (Arsitektur berlapis)
Biasa terdapat pada komunikasi jaringan komputer (networking
community).

Bentuk Arsitektur Sistem Terdistribusi
2. Object-based architectures (Arsitektur berbasis objek)
-setiap objek berkorespondensi dengan komponen
-komponen terhubung melalui mekanisme pemanggilan prosedur
secara jarak jauh (remote procedure call)

Bentuk Arsitektur Sistem Terdistribusi
3. Event-based architectures (Arsitektur berbasis peristiwa)
Proses berkomunikasi melalui propagasi (perambatan) peristiwa, misalnya sistem
berlangganan/publikasi dimana proses menerbitkan kejadian setelah itu middleware
memastikan bahwa hanya proses yang berlangganan kejadian saja tersebut yang
akan menerimanya. Keuntungannya adalah proses digabungkan secara longgar.
Pada prinsipnya, tidak perlu secara eksplisit merujuk satu sama lain. Ini juga disebut
sebagai dipisahkan dalam ruang, atau dipisahkan secara referensial.

Bentuk Arsitektur Sistem Terdistribusi
4. Data-centered architectures (Arsitektur yang berpusat pada data)
Proses berkomunikasi melalui repositori umum (pasif atau aktif). Misalnya properti
aplikasi jaringan dikembangkan yang bergantung pada sistem file terdistribusi
bersama dimana hampir semua komunikasi terjadi melalui file. Sistem terdistribusi
berbasis web sebagian besar berpusat pada data: proses berkomunikasi melalui
penggunaan layanan data berbasis web bersama.

Arsitektur Sistem
Centralized Architectures (Arsitektur Terpusat)
Pengelolaan kompleksitas sistem terdistribusi adalah dengan salah satu
bentuk yaitu klien meminta layanan dari server.
Model klien-server dasar:
-Proses dibagi menjadi dua kelompok:
1. Server adalah proses yang mengimplementasikan layanan tertentu,
misalnya layanan sistem file atau layanan basis data.
2. Klien adalah proses yang meminta layanan dari server dengan
mengirimkan permintaan dan selanjutnya menunggu balasan dari
server.
-Interaksi umum antara klien dan server.

Arsitektur Sistem
Application Layering (Lapisan Aplikasi)
1.Level Antarmuka Pengguna (User-Interface Level):
-Berisi semua yang diperlukan untuk berinteraksi langsung dengan
pengguna.
-Klien menerapkan antarmuka pengguna, mulai dari layar berbasis
karakter hingga GUI modern yang memungkinkan aplikasi berbagi
jendela grafis dan bertukar data.
2.Tingkat Pemrosesan (Processing Level): Berisi aplikasi yang
ditempatkan secara logis di tingkat pemrosesan, bagian tengah
hierarki.
3.Tingkat Data (Data Level): Mengelola data aktual yang sedang
ditindaklanjuti.

Arsitektur Sistem
Application Layering (Lapisan Aplikasi)
Contoh : Organisasi mesin pencari Internet yang disederhanakan menjadi
tiga lapisan berbeda.

Arsitektur Sistem
Multitiered Architectures (Arsitektur Bertingkat)
Arsitektur Bertingkat -secara fisik mendistribusikan aplikasi client-server di
beberapa mesin.
Organisasi paling sederhana -dua jenis mesin :
1. Mesin klien yang hanya berisi program yang mengimplementasikan (bagian
dari) level antarmuka pengguna
2. Mesin server yang berisi sisanya, yaitu program-program yang
melaksanakan pemrosesan dan level data
Semuanya ditangani oleh server sementara klien pada dasarnya tidak lebih
dari dumb terminal, mungkin dengan antarmuka grafis yang lebih baik.

Arsitektur Sistem
Multitiered Architectures (Arsitektur Bertingkat)
Mendistribusikan program dalam lapisan aplikasi di mesin yang berbeda
-Arsitektur dua tingkat (Two-tiered) : mesin klien dan mesin server.
-Organisasi klien-server alternatif

Arsitektur Sistem
Multitiered Architectures (Arsitektur Bertingkat)
Di sisi server menjadi semakin terdistribusi karena satu server digantikan
oleh banyak server yang berjalan di mesin yang berbeda. Server
terkadang perlu bertindak sebagai klien yang mengarah ke (secara fisik)
arsitektur tiga tingkat (three-tiered).

Arsitektur Sistem
Decentralized Architectures (Arsitektur Terdesentralisasi)
●Arsitektur Distribusi Vertikal melibatkan penempatan komponen yang
berbeda secara logis pada mesin yang berbeda.
●Fragmentasi Vertikal: terkait dengan pembagian tabel berdasarkan
kolom dalam basis data relasional terdistribusi.
●Arsitektur Client-Server Bertingkat yaitu membagi aplikasi menjadi
antarmuka pengguna, komponen pemrosesan, dan level data.
●Manfaat Distribusi vertikal:
-Membantu mengelola sistem terdistribusi dengan membagi fungsi
secara logis dan fisik.
-Meningkatkan efisiensi dan memudahkan pemeliharaan.
-Mencapai skalabilitas yang lebih baik dan mengurangi beban pada
setiap mesin individu.
-Meningkatkan kinerja keseluruhan sistem.

Arsitektur Sistem
Decentralized Architectures (Arsitektur Terdesentralisasi)
Horizontal Distribution Architecture (Arsitektur Distribusi Horizontal):
●Definisi: Klien atau server dibagi secara fisik menjadi bagian-bagian yang
setara secara logis, masing-masing beroperasi pada bagiannya sendiri dari
kumpulan data lengkap.
●Sistem Peer-to-Peer:
-Proses yang membentuk sistem peer-to-peer semuanya sama.
-Setiap proses bertindak sebagai klien dan server secara bersamaan.
-Interaksi antara proses bersifat simetris.
●Jaringan Overlay:
-Node dibentuk oleh proses dan tautan mewakili saluran komunikasi.
-Proses tidak dapat berkomunikasi langsung dengan proses lain, harus
melalui saluran komunikasi yang tersedia.
●Jenis Jaringan Overlay:
-Terstruktur
-Tidak terstruktur
●Arsitektur Referensi: Memungkinkan perbandingan formal dari berbagai jenis
sistem peer-to-peer.

Arsitektur Sistem
Structured Peer-to-Peer Architectures (Arsitektur Peer-to-Peer Terstruktur)
Arsitektur Peer-to-Peer Terstruktur:
●Definisi: Jaringan overlay P2P terdiri dari semua peer yang berpartisipasi
sebagai node jaringan.
●Koneksi Node: Node dihubungkan berdasarkan pengetahuan lokasi peer lain,
membentuk tepi yang diarahkan.
●Klasifikasi: Jaringan P2P dapat terstruktur atau tidak terstruktur.
●Contoh Jaringan Terstruktur: Chord, Pastry, Tapestry, CAN, Tulip.
●Prosedur Deterministik: Jaringan terstruktur dibangun menggunakan prosedur
deterministik, seperti distributed hash table (DHT).
●Sistem Berbasis DHT:
●-Item data diberi kunci acak dari ruang pengidentifikasi besar.
●-Node diberi nomor acak dari ruang pengenal yang sama.
●-Menerapkan skema efisien untuk memetakan kunci item data ke
pengidentifikasi node.
●Pencarian Data: Permintaan data dirutekan ke node yang bertanggung jawab,
mengembalikan alamat jaringan node tersebut.

Arsitektur Sistem
Structured Peer-to-Peer Architectures (Arsitektur Peer-to-Peer Terstruktur)
Pemetaan item data ke node di Chord.

Arsitektur Sistem
Unstructured Peer-to-Peer Architectures (Arsitektur Peer-to-Peer Tidak Terstruktur)
Arsitektur Peer-to-Peer Tidak Terstruktur:
●Definisi: Jaringan P2P tidak terstruktur terbentuk ketika tautan overlay dibuat secara
bebas.
●Pembentukan Jaringan: Peer baru dapat menyalin link yang ada dari node lain dan
membentuk link sendiri dari waktu ke waktu.
●Pencarian Data: Kueri harus dibanjiri melalui jaringan untuk menemukan sebanyak
mungkin peer yang berbagi data.
●Kerugian Utama:
-Permintaan tidak selalu dapat diselesaikan.
-Konten populer lebih mudah ditemukan, tetapi data langka sulit ditemukan.
-Tidak ada korelasi antara peer dan konten yang dikelolanya.
-Flooding menyebabkan tingginya jumlah lalu lintas pensinyalan dan efisiensi pencarian
yang buruk.
●Contoh Jaringan Tidak Terstruktur: Napster, Gnutella, KaZaA.
●Algoritma Acak: Mengandalkan algoritma acak untuk membangun jaringan overlay.
●Penyimpanan Data: Setiap node menyimpan daftar peer sebelahnya secara acak, dan
item data diasumsikan ditempatkan secara acak pada node.

Arsitektur Sistem
Unstructured Peer-to-Peer Architectures (Arsitektur Peer-to-Peer Tidak Terstruktur)
Superpeer -Node jaringan yang mempertahankan indeks node atau
bertindak sebagai broker untuk node umumnya.
Organisasi hierarkis node ke dalam jaringan superpeer.

Hybrid Architectures (Arsitektur Campuran)
Edge-Server Systems (Sistem Tepian-Server)
Definisi: Server ditempatkan di "edge" atau tepi jaringan.
Tujuan: Menyajikan konten dengan lebih efisien, mungkin setelah
pemfilteran dan transcoding.
Optimasi: Kumpulan server tepi digunakan untuk mengoptimalkan
distribusi konten dan aplikasi.
Tepi Jaringan: Batas antara jaringan perusahaan dan Internet, seperti ISP.
Contoh: ISP menghubungkan pengguna akhir ke Internet dan dianggap
berada di tepi Internet.

Hybrid Architectures (Arsitektur Campuran)
Edge-Server Systems (Sistem Tepian-Server)
Internet sebagai kumpulan server tepi.

Hybrid Architectures (Arsitektur Campuran)
Sistem Terdistribusi Kolaboratif
Arsitektur hibrid di deploy dalam sistem terdistribusi kolaboratif.
Proses dua langkah:
1. Bergabung dengan sistem menggunakan skema client-server tradisional.
2. Setelah node bergabung dengan sistem -gunakan skema yang sepenuhnya
terdesentralisasi untuk kolaborasi.
Contoh: sistem berbagi file BitTorrent

Perbandingan Arsitektur dengan Middleware
Definisi Middleware: Membentuk lapisan antara aplikasi dan platform terdistribusi,
memberikan transparansi distribusi.
Gaya Arsitektur Middleware:
-Berbasis objek: CORBA
-Berbasis event: TIB/Rendezvous
Permasalahan:
-Middleware yang mengikuti gaya arsitektur tertentu menyederhanakan
perancangan aplikasi tetapi mungkin tidak optimal.
-Middleware harus disesuaikan dengan persyaratan aplikasi.
Solusi:
-Buat beberapa versi middleware untuk kelas aplikasi tertentu.
-Buat middleware yang mudah dikonfigurasi dan disesuaikan.
Hasil:
-Pemisahan yang lebih ketat antara kebijakan dan mekanisme.
-Mekanisme untuk memodifikasi perilaku middleware.
-Pendekatan umum dengan Interceptor untuk memungkinkan eksekusi kode
spesifik aplikasi.

Pendekatan Umum untuk Perangkat Lunak Adaptif
Lingkungan di mana aplikasi terdistribusi dieksekusi berubah terus
menerus
Perubahan meliputi:
●mobilitas
●perbedaan dalam kualitas layanan jaringan
●perangkat keras yang rusak
●pengurasan sumber daya
●dll.

Pendekatan Umum untuk Perangkat Lunak Adaptif
1. Pemisahan Kepentingan:
-Memisahkan fungsionalitas utama dari fungsionalitas tambahan (keandalan,
kinerja, keamanan, dll.).
-Pengembangan perangkat lunak berorientasi aspek digunakan untuk mengatasi
masalah pemisahan ini.
2. Refleksi Komputasi:
-Kemampuan program untuk memeriksa dan menyesuaikan perilakunya sendiri.
3. Desain Berbasis Komponen:
-Mendukung adaptasi melalui komposisi.
-Sistem dapat dikonfigurasi secara statis pada waktu desain atau dinamis pada
saat runtime.
-Adaptasi dinamis membutuhkan dukungan untuk pengikatan akhir,
memungkinkan modul dimuat dan dibongkar sesuai kebutuhan.

Manajemen Mandiri dalam Sistem Terdistribusi
●Pengaturan Komponen: Mengatur komponen sistem terdistribusi untuk
memungkinkan pemantauan dan penyesuaian otomatis.
●Sistem Kontrol Umpan Balik: Sistem diatur sebagai kontrol umpan balik tingkat
tinggi untuk adaptasi otomatis terhadap perubahan.
●Komputasi Otonom: Sistem self-star menunjukkan variasi adaptasi otomatis
seperti self-managing, self-healing, self-configuring, dan self-optimizing.
●Model Kontrol Umpan Balik: Adaptasi melalui satu atau lebih loop kontrol umpan
balik.
●Penerapan Kontrol Umpan Balik: Telah lama diterapkan di berbagai bidang
teknik dan ditemukan dalam sistem komputasi.
●Masalah Arsitektur: Untuk sistem swakelola, masalah arsitektur adalah yang
paling menarik.

Kesimpulan
Arsitektur sistem terdistribusi melibatkan pengaturan komponen software yang
kompleks di berbagai mesin, baik secara terpusat maupun tidak terpusat. Gaya
arsitektur software mencakup arsitektur berlapis, berbasis objek, berbasis peristiwa,
dan berpusat pada data. Dalam arsitektur terpusat, model klien-server digunakan
dengan lapisan aplikasi yang terdiri dari antarmuka pengguna, pemrosesan, dan data.
Arsitektur bertingkat mendistribusikan aplikasi client-server di beberapa mesin,
dengan arsitektur dua tingkat dan tiga tingkat sebagai contoh. Arsitektur
terdesentralisasi melibatkan distribusi vertikal dan horizontal, dengan sistem peer-to-
peer yang dapat terstruktur atau tidak terstruktur. Arsitektur campuran mencakup
sistem tepian-server dan sistem terdistribusi kolaboratif. Middleware memberikan
transparansi distribusi dan mengikuti gaya arsitektur berbasis objek atau berbasis
event. Pendekatan umum untuk perangkat lunak adaptif melibatkan pemisahan
kepentingan, refleksi komputasi, dan desain berbasis komponen. Manajemen mandiri
menggunakan sistem kontrol umpan balik untuk adaptasi otomatis, memastikan
kinerja optimal dan keandalan tinggi.

Referensi
Andrew S. Tanenbaum, Maarten van Steen, “Distributed Systems :
Principles and Paradigms”, 2nd Edition, Pearson Prentice Hall, USA, 2007
https://csis.pace.edu/~marchese/CS865/Lectures/Chap2/Chapter%202.ht
m
Tags