DISTRIBUTED SYSTEMS Concept and Design – Fifth Edition
George Coulouris
Cambridge University
Jean Dollimore
formerly of Queen Mary, University of London
Tim Kindberg
matter 2 media
Gordon Blair
Lancaster University
Bab ini memberikan penjelasan tentang tiga cara penting dan saling melengkapi dalam yang desain sistem terdistribusi berguna dapat dijelaskan dan dibahas:
Model fisik mempertimbangkan jenis komputer dan perangkat yang merupakan suatu system dan interkonektivitas mereka, tanpa rincian teknologi spesifik.
Model Arsitektur menggambarkan sistem dalam hal komputasi dan tugas komunikasi yang dilakukan oleh elemen komputasi; komputasi yang elemen menjadi komputer individu atau agregat dari mereka didukung oleh tepat interkoneksi jaringan. Client-server dan peer-to-peer adalah dua yang paling umum digunakan bentuk model arsitektur untuk sistem terdistribusi.
Model Dasar mengambil perspektif abstrak untuk menggambarkan solusi untuk masalah individu yang dihadapi oleh sistem yang paling didistribusikan.
Tidak ada waktu global dalam sistem terdistribusi, sehingga jam pada komputer yang berbeda melakukan
belum tentu memberikan waktu yang sama seperti yang lain. Semua komunikasi antara proses dicapai dengan cara
pesan. pesan komunikasi melalui jaringan komputer
dapat dipengaruhi oleh keterlambatan, bisa menderita berbagai kegagalan dan rentan terhadap keamanan
serangan. Isu-isu ini ditangani oleh tiga model:
Model interaksi berkaitan dengan kinerja dan dengan kesulitan waktu pengaturan
Batas dalam sistem terdistribusi, misalnya untuk pengiriman pesan.
Model gagal mencoba untuk memberikan spesifikasi yang tepat dari kesalahan yang dapat
dipamerkan oleh proses dan saluran komunikasi. Mendefinisikan terpercaya
komunikasi dan proses yang benar.
Model keamanan membahas ancaman mungkin untuk proses dan komunikasi saluran.
Hal ini memperkenalkan konsep saluran aman, yang aman terhadapancaman-ancaman.
2.1 Pendahuluan
Sistem yang dimaksudkan untuk digunakan dalam lingkungan dunia nyata harus dirancang untuk
fungsi dengan benar dalam jangkauan terluas kemungkinan keadaan dan dalam menghadapi banyak
mungkin kesulitan dan ancaman (untuk beberapa contoh, lihat kotak di bawah ini halaman).
Pembahasan dan contoh Bab 1 menunjukkan bahwa sistem terdistribusi jenis berbagi sifat penting yang
mendasari dan menimbulkan desain umum masalah.
Dalam bab ini kita menunjukkan bagaimana sifat dan masalah desain didistribusikan sistem dapat
ditangkap dan dibahas melalui penggunaan model deskriptif. setiap jenis model ini dimaksudkan untuk
memberikan deskripsi abstrak, disederhanakan tetapi konsisten dari Aspek yang relevan dari desain sistem
terdistribusi:
Model fisik adalah cara yang paling eksplisit di mana untuk menggambarkan suatu sistem; mereka
menangkap komposisi hardware dari sistem dalam hal komputer (dan lainnya perangkat, seperti ponsel) dan jaringan interkoneksi mereka.
Model arsitektur menggambarkan sistem dalam hal komputasi dan tugas komunikasi yang dilakukan
oleh elemen komputasi; komputasi yang elemen menjadi komputer individu atau agregat dari mereka
didukung oleh tepat interkoneksi jaringan.
Model dasar mengambil perspektif abstrak untuk memeriksa individu aspek dari sistem terdistribusi.
Dalam bab ini kami memperkenalkan model fundamental yang memeriksa tiga aspek penting dari
sistem terdistribusi: model interaksi, yang mempertimbangkan struktur dan sequencing komunikasi
antara unsur-unsur sistem; model kegagalan, yang mempertimbangkan cara-cara di mana sistem
mungkin gagal untuk
beroperasi dengan benar dan; model keamanan, yang mempertimbangkan bagaimana sistem dilindungi
terhadap upaya untuk mengganggu operasi yang benar atau untuk mencuri data.
Kesulitan dan ancaman untuk sistem terdistribusi • Berikut adalah beberapa masalah yang
para perancang sistem terdistribusi hadapi.
Sangat beragam mode penggunaan: Bagian komponen dari sistem tergantung pada luas variasi dalam
beban kerja - misalnya, beberapa halaman web yang diakses beberapa juta kali sehari. Beberapa bagian
dari sistem dapat terputus, atau buruk terhubung beberapa waktu - misalnya, ketika komputer mobile yang
termasuk dalam sistem. Beberapa aplikasi memiliki persyaratan khusus untuk bandwidth komunikasi yang
tinggi dan rendah latency - misalnya, aplikasi multimedia.
Wide berbagai lingkungan sistem: Sistem terdistribusi harus mengakomodasi hardware heterogen, sistem
operasi dan jaringan. Jaringan mungkin berbeda secara luas dalam kinerja - jaringan nirkabel beroperasi di
sebagian kecil dari kecepatan local jaringan. Sistem sisik sangat berbeda, mulai dari puluhan komputer
untuk jutaan komputer, harus didukung.
Masalah internal: jam Non-disinkronisasi, bertentangan update data dan banyak mode hardware dan
software kegagalan melibatkan komponen sistem individual.
Ancaman eksternal: Serangan terhadap integritas data dan kerahasiaan, penolakan serangan layanan.
2.2 Model fisik
Sebuah model fisik adalah representasi dari elemen perangkat keras yang mendasari dari
sistem terdistribusi yang abstrak jauh dari rincian spesifik dari komputer dan teknologi jaringan yang
digunakan.
Model fisik dasar: Sebuah sistem terdistribusi didefinisikan dalam Bab 1 sebagai salah satu yang
hardware atau software komponen yang terletak di jaringan komputer berkomunikasi dan mengkoordinasikan tindakan mereka hanya dengan lewat pesan. Hal ini menyebabkan fisik minimal
Model sistem terdistribusi sebagai set extensible komputer bening dihubungkan oleh
jaringan komputer untuk passing yang diperlukan pesan.
Di luar model dasar ini, kita berguna dapat mengidentifikasi tiga generasi didistribusikan
sistem.
Sistem terdistribusi awal: Sistem seperti muncul di akhir 1970-an dan awal 1980-an di
Menanggapi munculnya teknologi jaringan area lokal, biasanya Ethernet (lihat Bagian 3.5). Sistem ini
biasanya terdiri dari antara 10 dan 100 node dihubungkan oleh jaringan area lokal, dengan konektivitas
internet terbatas dan didukung sejumlah kecil layanan seperti printer lokal bersama dan file server serta
email dan transfer file di Internet. Sistem individu sebagian besar homogen dan keterbukaan bukanlah
perhatian utama. Menyediakan kualitas layanan masih sangat banyak di masa pertumbuhan dan
merupakan titik fokus untuk banyak penelitian di seluruh sistem awal .
Internet-skala sistem terdistribusi: Bangunan di atas dasar ini, skala besar didistribusikan sistem mulai
muncul pada 1990-an sebagai tanggapan terhadap pertumbuhan dramatis dari Internet selama ini (misalnya, mesin pencari Google pertama kali diluncurkan pada tahun 1996). Di sistem seperti,
infrastruktur fisik yang mendasari terdiri dari model fisik diilustrasikan dalam Bab 1, Gambar 1.3; yaitu, set
extensible node dihubungkan oleh jaringan jaringan (internet). Sistem seperti memanfaatkan infrastruktur
yang ditawarkan oleh. Internet menjadi benar-benar global. Mereka menggabungkan sejumlah besar node
dan menyediakan layanan sistem terdistribusi untuk organisasi global dan seluruh organisasi batas. Tingkat
heterogenitas dalam sistem tersebut adalah signifikan dalam hal jaringan, arsitektur komputer, sistem
operasi, bahasa yang digunakan dan tim pengembangan yang terlibat. Hal ini telah menyebabkan
meningkatnya penekanan pada standar terbuka dan teknologi middleware terkait seperti CORBA dan baru-
baru, web layanan. Layanan tambahan dipekerjakan untuk memberikan end-to-end kualitas layanan
properti di sistem global .
Kontemporer sistem terdistribusi: Dalam sistem di atas, node yang biasanya desktop yang komputer
dan karena itu relatif statis (yaitu, yang tersisa dalam satu lokasi fisik untuk waktu yang lama), diskrit (tidak
tertanam dalam entitas fisik lainnya) dan otonom (untuk sebagian besar independen dari komputer lain
dalam hal fisik mereka infrastruktur). Tren kunci yang diidentifikasi dalam Bagian 1.3 telah mengakibatkan
signifikan perkembangan lebih lanjut dalam model fisik:
Munculnya komputasi mobile telah menyebabkan model fisik di mana node tersebut
laptop atau ponsel pintar dapat berpindah dari satu lokasi ke lokasi dalam didistribusikan
sistem, yang mengarah ke kebutuhan untuk kemampuan tambahan seperti penemuan layanan dan
dukungan untuk interoperation spontan.
Munculnya komputasi di mana-mana telah menyebabkan bergerak dari node diskrit untuk
arsitektur di mana komputer yang tertanam dalam benda sehari-hari dan dalam lingkungan
sekitarnya (misalnya, di mesin cuci atau di rumah pinta Lebih umum).
Munculnya komputasi awan dan, khususnya, arsitektur klaster telah menyebabkan
untuk bergerak dari node otonom melakukan peran yang diberikan kepada kolam node yang bersama-sama memberikan layanan yang diberikan (misalnya, layanan pencarian yang ditawarkan oleh Google).
Hasil akhirnya adalah arsitektur fisik dengan peningkatan yang signifikan dalam tingkat heterogenitas
Merangkul, misalnya, perangkat terkecil tertanam digunakan dalam komputasi di mana-mana melalui
elemen komputasi kompleks yang ditemukan di Grid komputasi. Sistem ini menggunakan seperangkat
semakin beragam teknologi jaringan dan menawarkan berbagai macam aplikasi dan layanan. Sistem
seperti berpotensi melibatkan hingga ratusan ribu node.
Sistem terdistribusi sistem • Sebuah laporan baru-baru membahas munculnya ultralarge- skala (ULS)
sistem terdistribusi [www.sei.cmu.edu]. Laporan ini menangkap kompleksitas sistem terdistribusi yang
modern dengan mengacu seperti arsitektur (fisik) sebagai sistem sistem (mirroring pandangan Internet
sebagai jaringan dari jaringan). SEBUAH sistem sistem dapat didefinisikan sebagai suatu sistem yang
kompleks yang terdiri dari serangkaian subsistem yang sistem di kanan mereka sendiri dan yang
datang bersama-sama untuk melakukan tugas tertentu atau tugas.
Sebagai contoh dari sistem sistem, mempertimbangkan pengelolaan lingkungan sistem prediksi banjir.
Dalam skenario seperti itu, akan ada jaringan sensor dikerahkan untuk memantau keadaan berbagai
parameter lingkungan yang terkait dengan sungai, dataran banjir, efek pasang surut dan sebagainya.
Ini kemudian dapat digabungkan dengan sistem yang bertanggung jawab untuk memprediksi
kemungkinan banjir, dengan menjalankan (sering kompleks) simulasi pada, Misalnya, kluster komputer
(seperti dibahas dalam Bab 1). sistem lain mungkin didirikan untuk mempertahankan dan menganalisis
data historis atau untuk memberikan sistem peringatan dini kepada pemangku kepentingan utama
melalui ponsel.
Ringkasan • perkembangan sejarah keseluruhan ditangkap di bagian ini diringkaspada Gambar 2.1, dengan meja menyoroti tantangan yang signifikan terkait dengansistem terdistribusi kontemporer dalam hal mengelola tingkat heterogenitas dan memberikan sifat utama seperti keterbukaan dan kualitas layanan.
2.3 Model Arsitektur
Arsitektur sistem adalah struktur dalam hal komponen secara terpisah ditentukan
dan hubungan mereka. Tujuan keseluruhan adalah untuk memastikan bahwa struktur akan bertemu
saat ini dan kemungkinan masa depan menuntut di atasnya. kekhawatiran utama adalah untuk
membuat sistem yang handal, dikelola, mudah beradaptasi dan hemat biaya. Desain arsitektur
bangunan memilikiaspek yang sama - menentukan tidak hanya penampilan tetapi juga struktur umum
dangaya arsitektur (gothic, neo-klasik, modern) dan menyediakan kerangka yang konsisten referensi
untuk desain.
Pada bagian ini kami menggambarkan model arsitektur utama yang digunakan dalam didistribusikan
sistem - gaya arsitektur sistem terdistribusi. Secara khusus, kita meletakkan dasar bagi pemahaman yang
menyeluruh tentang pendekatan seperti model client-server, pendekatan peer-to-peer, objek terdistribusi,
komponen didistribusikan, didistribusikan acara berdasarkan
sistem dan perbedaan utama antara gaya ini.
Bagian ini mengadopsi pendekatan tiga tahap:
melihat elemen arsitektur yang mendasari inti yang mendukung yang modern
sistem terdistribusi, menyoroti keragaman pendekatan yang sekarang ada;
memeriksa pola arsitektur komposit yang dapat digunakan dalam isolasi atau, lebih
sistem umum, dalam kombinasi, dalam mengembangkan lebih canggih didistribusikan
solusi;
dan akhirnya, mengingat platform middleware yang tersedia untuk mendukung
berbagai gaya pemrograman yang muncul dari gaya arsitektur di atas.
Perhatikan bahwa ada banyak trade-off terkait dengan pilihan yang diidentifikasi dalam bab ini
dalam hal unsur-unsur arsitektur yang digunakan, pola diadopsi dan (mana
sesuai) middleware digunakan, misalnya mempengaruhi kinerja dan
efektivitas sistem yang dihasilkan. Memahami seperti trade-off ini bisa dibilang kunci
keterampilan dalam desain sistem terdistribusi.
Perhatikan bahwa ada banyak trade-off terkait dengan pilihan yang diidentifikasi dalam bab ini dalam hal
unsur-unsur arsitektur yang digunakan, pola diadopsi dan (mana sesuai) middleware digunakan, misalnya
mempengaruhi kinerja dan efektivitas sistem yang dihasilkan. Memahami seperti trade-off ini bisa dibilang
kunci keterampilan dalam desain sistem terdistribusi.
2.3.1 Elemen Arsitektur
Untuk memahami blok bangunan fundamental dari sistem terdistribusi, perlu
untuk mempertimbangkan empat pertanyaan kunci:
Apakah entitas yang berkomunikasi dalam sistem terdistribusi?
Bagaimana mereka berkomunikasi, atau, lebih khusus, apa paradigma komunikasi digunakan?
Apa yang (berpotensi mengubah) peran dan tanggung jawab yang mereka miliki di keseluruhan
arsitektur?
Bagaimana mereka dipetakan ke infrastruktur didistribusikan fisik (apa yang merek penempatan)?
Entitas Berkomunikasi • Dua pertanyaan pertama di atas adalah benar-benar tengah ke
pemahaman tentang sistem terdistribusi; apa adalah komunikasi dan bagaimana entitas
berkomunikasi bersama-sama menentukan desain ruang yang kaya untuk pengembang sistem terdistribusi
mempertimbangkan. Hal ini membantu untuk mengatasi pertanyaan pertama dari sistem berorientasi dan
berorientasi masalah perspektif.
Dari perspektif sistem, jawabannya biasanya sangat jelas bahwa entitas
yang berkomunikasi dalam sistem terdistribusi biasanya proses, yang mengarah ke
Mengingat sistem terdistribusi yang berlaku sebagai proses-proses ditambah dengan tepat
paradigma komunikasi antar (seperti yang dibahas, misalnya, dalam Bab 4), dengan
dua peringatan:
Dalam beberapa lingkungan primitif, seperti jaringan sensor, yang mendasari
sistem operasi mungkin tidak mendukung abstraksi proses (atau memang bentuk
isolasi), dan karenanya entitas yang berkomunikasi dalam sistem tersebut node.
Dalam lingkungan sistem yang paling terdistribusi, proses yang dilengkapi dengan benang,
jadi, tegasnya, itu adalah benang yang merupakan titik akhir dari komunikasi.
Pada satu tingkat, ini sudah cukup untuk model sistem terdistribusi dan memang fundamental model dipertimbangkan dalam Bagian 2.4 mengadopsi pandangan ini. Dari perspektif pemrograman,
Namun, ini tidak cukup, dan lebih berorientasi masalah abstraksi telah diusulkan:
Objek: objek telah diperkenalkan untuk memungkinkan dan mendorong penggunaan objectoriented
pendekatan dalam sistem terdistribusi (termasuk desain berorientasidan bahasa pemrograman
object-oriented). Dalam didistribusikan berbasis obyekpendekatan, perhitungan terdiri dari
sejumlah objek berinteraksi mewakiliunit alami dekomposisi untuk domain masalah yang diberikan.
Benda diaksesmelalui antarmuka, dengan bahasa definisi antarmuka terkait (atau IDL)
menyediakanspesifikasi metode yang didefinisikan pada objek. objek terdistribusi telah menjadiarea
utama studi di sistem terdistribusi, dan pertimbangan lain yang diberikan untuk initopik dalam Bab 5
dan 8.
Komponen: Sejak diperkenalkan sejumlah masalah yang signifikan telah diidentifikasi dengan objek
terdistribusi, dan penggunaan teknologi komponen telah muncul sebagai respon langsung terhadap
kelemahan tersebut. Komponen menyerupai benda dalam bahwa mereka menawarkan abstraksi
berorientasi masalah untuk membangun sistem terdistribusi dan juga diakses melalui interface.
Perbedaan utama adalah bahwa komponen menentukan tidak hanya mereka (disediakan) interface
tetapi juga asumsi mereka membuat dalam hal lainnya komponen / interface yang harus hadir untuk
komponen untuk memenuhi fungsinya – di Dengan kata lain, membuat semua dependensi eksplisit
dan menyediakan lebih lengkap kontrak untuk konstruksi sistem. Pendekatan yang lebih kontrak ini
mendorong dan memungkinkan pengembangan pihak ketiga komponen dan juga mempromosika
murni sebuah Pendekatan komposisi untuk membangun sistem terdistribusi dengan menghapus
tersembunyi dependensi. middleware berbasis komponen sering memberikan dukungan tambahan
untuk bidang utama seperti penyebaran dan dukungan untuk pemrograman server-side [Heineman
dan Dewan 2001]. Rincian lebih lanjut dari pendekatan berbasis komponen dapat ditemukan di
Bab 8.
Layanan web: layanan web mewakili paradigma penting ketiga untuk
pengembangan sistem terdistribusi [Alonso et al. 2004]. layanan web yang erat
terkait dengan objek dan komponen, lagi mengambil pendekatan berdasarkan enkapsulasi
perilaku dan akses melalui interface. Sebaliknya, bagaimanapun, layanan web
intrinsik diintegrasikan ke dalam World Wide Web, menggunakan standar web untuk mewakili
dan menemukan layanan. World Wide Web konsorsium (W3C) mendefinisikan web
pelayanan sebagai:
... Aplikasi perangkat lunak diidentifikasi oleh URI, yang interface dan
binding mampu didefinisikan, dijelaskan dan ditemukan sebagai XML
artefak. Sebuah layanan Web mendukung interaksi langsung dengan perangkat lunak lain
agen menggunakan pertukaran pesan berbasis XML melalui internet berbasis
protokol.
Dengan kata lain, layanan web yang sebagian ditentukan oleh teknologi berbasis web mereka
mengambil. Sebuah perbedaan penting lanjut berasal dari gaya penggunaan teknologi.
Sedangkan objek dan komponen yang sering digunakan dalam sebuah organisasi untuk mengembangkan
aplikasi erat digabungkan, layanan web umumnya dipandang sebagai layanan lengkap
di kanan mereka sendiri yang dapat dikombinasikan untuk mencapai layanan nilai tambah, seringkali
melintasi batas-batas organisasi dan karenanya mencapai bisnis ke bisnis
integrasi. layanan web dapat diimplementasikan oleh penyedia yang berbeda dan menggunakan
teknologi yang mendasari yang berbeda. layanan web dianggap lebih lanjut dalam Bab 9.
Komunikasi paradigma • Kami sekarang mengalihkan perhatian kita untuk bagaimana entitas berkomunikasi dalam sistem terdistribusi, dan mempertimbangkan tiga jenis paradigma komunikasi:
komunikasi interprocess;
remote doa;
komunikasi tidak langsung.
Komunikasi antar mengacu pada dukungan yang relatif rendah tingkat komunikasi antara proses dalam
sistem terdistribusi, termasuk pesan-passing primitif, akses langsung ke API yang ditawarkan oleh protocol
Internet (pemrograman socket) dan mendukung untuk komunikasi multicast. layanan tersebut dibahas
secara rinci dalam Bab 4.
Terpencil doa merupakan paradigma komunikasi yang paling umum di
sistem terdistribusi, yang mencakup berbagai teknik berdasarkan pertukaran dua arah
antara berkomunikasi entitas dalam sistem terdistribusi dan mengakibatkan panggilan dari
Operasi remote, prosedur atau metode, seperti yang didefinisikan lebih jauh di bawah (dan dianggap sepenuhnya
dalam Bab 5):
protokol request-reply: protokol request-reply yang efektif pola dikenakan
pada layanan pesan-passing yang mendasari untuk mendukung komputasi client-server. Di
tertentu, protokol seperti biasanya melibatkan pertukaran berpasangan pesan dari
client ke server dan kemudian dari server ke klien, dengan pesan pertama yang berisi
encoding operasi yang akan dijalankan di server dan juga sebuah array byte
memegang argumen terkait dan pesan kedua yang berisi hasil apapun dari
operasi, lagi dikodekan sebagai array byte. Paradigma ini agak primitif dan
hanya benar-benar digunakan dalam sistem embedded di mana kinerja sangat penting. Itu
Pendekatan ini juga digunakan dalam protokol HTTP dijelaskan dalam Bagian 5.2. kebanyakan didistribusikan sistem akan memilih untuk menggunakan prosedur panggilan jarak jauh atau doa
metode remote, sebagai dibahas di bawah, tetapi perhatikan bahwa kedua pendekatan didukung
oleh permintaan yang mendasari balasan bursa.
Prosedur panggilan jarak jauh: Konsep panggilan prosedur jauh (RPC), awalnya
dikaitkan dengan Birrell dan Nelson [1984], merupakan terobosan intelektual utama
dalam komputasi terdistribusi. Dalam RPC, prosedur dalam proses di komputer remote dapat
disebut sebagai jika mereka prosedur dalam ruang alamat lokal. Yang mendasari RPC
Sistem kemudian menyembunyikan aspek penting dari distribusi, termasuk encoding dan
decoding parameter dan hasil, lewat pesan dan melestarikan dari
semantik diperlukan untuk panggilan prosedur. Pendekatan ini secara langsung dan elegan
mendukung komputasi client-server dengan server yang menawarkan satu set operasi melalui
antarmuka layanan dan klien memanggil operasi ini secara langsung sebagai jika mereka tersedia
lokal. sistem RPC karena itu menawarkan (minimal) akses dan lokasi
transparansi.
Terpencil metode doa: Remote pemanggilan metode (RMI) sangat mirip
prosedur panggilan jarak jauh tetapi dalam dunia objek terdistribusi. Dengan pendekatan ini,
memanggil objek dapat memanggil metode dalam objek remote. Seperti RPC, yang mendasari
Rincian umumnya disembunyikan dari pengguna. RMI implementasi mungkin, meskipun, pergi
lanjut dengan mendukung identitas objek dan kemampuan yang terkait untuk lulus objek
pengidentifikasi sebagai parameter dalam panggilan jarak jauh. Mereka juga mendapat manfaat lebih umum dari
integrasi yang lebih kuat ke dalam bahasa berorientasi objek seperti dibahas dalam Bab 5.
Set atas teknik semua memiliki satu kesamaan: komunikasi merupakan dua arah hubungan antara pengirim dan penerima dengan pengirim eksplisit mengarahkan pesan / doa kepada penerima terkait. Penerima juga umumnya sadar identitas pengirim, dan dalam kebanyakan kasus kedua belah pihak harus ada pada waktu yang sama. Di Sebaliknya, sejumlah teknik telah muncul dimana komunikasi tidak langsung, melalui entitas ketiga, yang memungkinkan tingkat yang kuat dari decoupling antara pengirim dan penerima. Khususnya:
Pengirim tidak perlu tahu siapa mereka mengirimkan ke (ruang uncoupling).
Pengirim dan penerima tidak perlu ada pada saat yang sama (waktu uncoupling).
komunikasi tidak langsung dibahas secara lebih rinci dalam Bab 6.
Teknik kunci untuk komunikasi tidak langsung meliputi:
komunikasi kelompok: komunikasi kelompok yang bersangkutan dengan pengiriman pesan ke satu set
penerima dan karenanya merupakan paradigma komunikasi multipartai mendukung satu-ke-banyak
komunikasi. komunikasi kelompok bergantung pada abstraksi dari kelompok yang diwakili dalam sistem
dengan pengenal kelompok. Penerima memilih untuk menerima pesan yang dikirim ke grup dengan bergabung dengan grup. Pengirim kemudian mengirim pesan ke grup melalui pengenal kelompok, dan
karenanya tidak perlu mengetahui penerima pesan. Kelompok biasanya juga mempertahankan kelompok
keanggotaan dan termasuk mekanisme untuk menangani kegagalan anggota kelompok.
Mempublikasikan-berlangganan sistem: Banyak sistem, seperti contoh perdagangan keuangan di Bab 1,
dapat diklasifikasikan sebagai sistem informasi-penyebaran dimana besar sejumlah produsen (atau
penerbit) mendistribusikan barang-barang informasi yang menarik (peristiwa) ke sejumlah sama besar
konsumen (atau pelanggan). Ini akan menjadi rumit dan tidak efisien untuk menggunakan salah satu
paradigma komunikasi inti yang dibahas di atas untuk tujuan ini dan karenanya mempublikasikan-
berlangganan sistem (kadang-kadang juga disebut didistribusikan berdasarkan aktivitas sistem) telah
muncul untuk memenuhi kebutuhan penting ini [Muhl et Al. 2006]. Mempublikasikan-berlangganan sistem semua berbagi fitur penting dari memberikan layanan perantara yang efisien menjamin informasi yang dihasilkan oleh produsen adalah dialihkan ke konsumen yang menginginkan informasi ini
Pesan antrian: Bahwa mempublikasikan-berlangganan sistem menawarkan gaya satu-ke-banyak
komunikasi, antrian pesan menawarkan layanan point-to-point dimana produser Proses dapat mengirim
pesan ke antrian yang ditentukan dan proses konsumen bias menerima pesan dari antrian atau diberitahu
tentang kedatangan pesan baru di antre. Oleh karena antrian menawarkan tipuan antara produsen dan konsumen proses.
Ruang tupel: ruang tuple menawarkan layanan komunikasi lebih lanjut tidak langsung oleh mendukung
model dimana proses dapat menempatkan item sewenang-wenang data terstruktur, disebut tupel, di
ruang tuple gigih dan proses lainnya dapat membaca atau menghapus tupel tersebut dari ruang tuple
dengan menentukan pola bunga. Sejak tupel ruang gigih, pembaca dan penulis tidak perlu ada pada saat
yang sama. gaya ini pemrograman, atau dikenal sebagai komunikasi generatif, diperkenalkan oleh
Gelernter [1985] sebagai paradigma untuk pemrograman paralel. Sejumlah didistribusikan implementasi
juga telah dikembangkan, mengadopsi baik client-server-gaya implementasi atau lebih terdesentralisasi
pendekatan peer-to-peer.
Didistribusikan memori bersama: didistribusikan memori bersama (DSM) sistem menyediakan abstraksi
untuk berbagi data antara proses yang tidak berbagi memori fisik. Programmer tetap disajikan dengan
abstraksi akrab membaca atau menulis (shared) struktur data seolah-olah mereka berada di ruang alam
at lokal mereka sendiri, sehingga menyajikan tingkat tinggi transparansi distribusi. Infrastruktur yang
mendasari harus memastikan salinan disediakan secara tepat waktu dan juga menangani masalah yang
berkaitan untuk sinkronisasi dan konsistensi data. Ikhtisar didistribusikan bersama memori dapat
ditemukan dalam Bab 6.
Peran dan tanggung jawab • Dalam proses sistem terdistribusi - atau memang benda,
komponen atau jasa, termasuk jasa web (tapi demi kesederhanaan kita gunakan
proses jangka seluruh bagian ini) - berinteraksi satu sama lain untuk melakukan yang berguna
aktivitas, misalnya, untuk mendukung sesi chat. Dalam melakukannya, proses mengambil diberikan
peran, dan peran-peran ini sangat penting dalam membangun arsitektur keseluruhan menjadi diadopsi.
Pada bagian ini, kita memeriksa dua gaya arsitektur yang berasal dari peran proses individu: client-server
dan peer-to-peer. Client-server: ini adalah arsitektur yang paling sering dikutip sistem ketika didistribusikan
dibahas. Ini adalah historis yang paling penting dan tetap yang paling banyak dipekerjakan. Gambar 2.3
menggambarkan struktur sederhana di mana proses mengambil peran menjadi klien atau server. Secara
khusus, proses client berinteraksi dengan server individu proses di host komputer berpotensi terpisah
untuk mengakses sumber daya bersama yang mereka kelola.
Server pada gilirannya menjadi klien dari server lain, seperti angka menunjukkan. Untuk
Misalnya, web server sering klien dari server file lokal yang mengelola file di
yang halaman web disimpan. server web dan sebagian besar layanan Internet lainnya adalah klien
dari layanan DNS, yang menerjemahkan nama domain Internet ke alamat jaringan.
Misalnya terkait web lain menyangkut mesin pencari, yang memungkinkan pengguna untuk mencari
ringkasan informasi yang tersedia di halaman web di situs di seluruh Internet. Ini ringkasan yang dibuat
oleh program yang disebut web crawler, yang berjalan di latar belakang di situs mesin pencari
menggunakan permintaan HTTP untuk mengakses server web di seluruh Internet.
Sehingga mesin pencari adalah baik server dan klien: itu menanggapi pertanyaan dari browser
klien dan berjalan web crawler yang bertindak sebagai klien dari server web lainnya. Dalam contoh ini,
tugas Server (menanggapi permintaan pengguna) dan tugas crawler (membuat permintaan untuk
server web lainnya) yang sepenuhnya independen; ada sedikit kebutuhan untuk menyinkronkan mereka
danmereka dapat berjalan secara bersamaan. Bahkan, sebuah mesin pencari yang khas biasanya akan
mencakup banyakbenang bersamaan eksekusi, beberapa melayani klien dan lain-lain berjalan web crawler
. Dalam Latihan 2.5, pembaca diajak untuk mempertimbangkan hanya masalah sinkronisasi yang tidak
muncul untuk mesin pencari bersamaan dari jenis yang diuraikan di sini.
2.4 Model Fundamental
Semua di atas, sangat berbeda, model sistem berbagi beberapa sifat mendasar. Di
tertentu, semua dari mereka terdiri dari proses yang berkomunikasi dengan satu sama lain dengan mengirim pesan melalui jaringan komputer. Semua model berbagi desain\ persyaratan mencapai kinerja
dan kehandalan karakteristik proses dan jaringan dan memastikan keamanan sumber daya dalam sistem.
Pada bagian ini, kita model sekarang berdasarkan sifat-sifat dasar yang memungkinkan kita untuk menjadi
lebih spesifik tentang karakteristik mereka dan kegagalan dan risiko keamanan mereka mungkin
menunjukkan. Secara umum, model fundamental seperti seharusnya hanya berisi bahan-bahan penting
bahwa kita perlu mempertimbangkan untuk memahami dan alasan tentang beberapa aspek dari perilaku sistem. Tujuan dari model seperti itu adalah:
Untuk membuat eksplisit semua asumsi yang relevan tentang sistem kita pemodelan.
Untuk membuat generalisasi tentang apa yang mungkin atau tidak mungkin, mengingat mereka
asumsi. Generalisasi dapat berupa tujuan umum
algoritma atau sifat yang diinginkan yang dijamin. Jaminan tersebut
tergantung pada analisis logis dan, bila sesuai, bukti matematis.
Ada banyak yang bisa diperoleh dengan mengetahui apa desain kami lakukan, dan tidak, tergantung.
Hal ini memungkinkan kita untuk memutuskan apakah desain akan bekerja jika kita mencoba untuk menerapkannya dalam tertentu
Sistem: kita hanya perlu bertanya apakah asumsi kita terus dalam sistem itu. Juga, dengan membuat
Matematis teknik. Sifat-sifat ini kemudian akan mengadakan untuk sistem apapun memenuhi asumsi kita.
Akhirnya, dengan abstrak hanya entitas sistem penting dan karakteristik jauh dari rincian seperti perangkat
keras, kita bisa memperjelas pemahaman kita tentang sistem kami. Aspek sistem terdistribusi yang hendak
kita menangkap di dasar kita model dimaksudkan untuk membantu kita untuk membahas dan alasan
tentang: Interaksi: Perhitungan terjadi dalam proses; proses berinteraksi dengan melewati pesan, sehingga
komunikasi (arus informasi) dan koordinasi (Sinkronisasi dan pemesanan kegiatan) antara proses. Dalam
analisis dan desain sistem terdistribusi kita prihatin terutama dengan interaksi ini. Model interaksi harus
mencerminkan fakta bahwa komunikasi berlangsung dengan penundaan yang sering durasi yang cukup,
dan bahwa akurasi dengan yang proses independen dapat dikoordinasikan dibatasi oleh penundaan ini dan
oleh sulitnya mempertahankan gagasan waktu yang sama di semua komputer dalam sistem terdistribusi.
Kegagalan: The operasi yang benar dari sistem terdistribusi terancam setiap kali kesalahan
terjadi di salah satu komputer yang berjalan (termasuk kesalahan software) atau di
jaringan yang menghubungkan mereka. Model kami mendefinisikan dan mengklasifikasikan kesalahan. Ini
memberikan dasar untuk analisis dampak potensi mereka dan untuk desain sistem
yang mampu mentolerir kesalahan dari masing-masing jenis sambil terus berjalan dengan benar.
Keamanan: Sifat modular sistem terdistribusi dan mengekspos keterbukaan mereka mereka untuk
menyerang oleh kedua agen eksternal dan internal. Model keamanan kita mendefinisikan dan
mengklasifikasikan bentuk bahwa serangan tersebut dapat mengambil, memberikan dasar untuk analisis
ancaman terhadap sistem dan untuk desain sistem yang mampu melawan mereka. Sebagai alat bantu
untuk diskusi dan penalaran, model yang diperkenalkan dalam bab ini adalah tentu disederhanakan,
menghilangkan banyak detail dari sistem dunia nyata. Mereka hubungan dengan sistem dunia nyata, dan
solusi dalam konteks masalah yang model membantu untuk membawa keluar, adalah subjek utama dari
buku ini.
Penggunaan model keamanan • Mungkin dianggap bahwa pencapaian keamanan di sistem
terdistribusi akan menjadi masalah sederhana yang melibatkan kontrol akses ke objek menurut hak
akses yang telah ditetapkan dan penggunaan saluran aman untuk komunikasi. Sayangnya, hal ini tidak umum terjadi. Penggunaan keamanan teknik seperti enkripsi dan kontrol akses menimbulkan pengolahan
besar dan biaya manajemen. Model keamanan yang diuraikan di atas memberikan dasar untuk analisis
dan desain sistem yang aman di mana biaya ini disimpan ke minimum, tetapi ancaman terhadap sistem
terdistribusi muncul di banyak titik, dan analisis yang cermat dari ancaman yang mungkin timbul dari
semua sumber di lingkungan jaringan sistem, fisik lingkungan dan lingkungan manusia yang dibutuhkan.
Analisis ini melibatkan konstruksi dari model ancaman daftar semua bentuk serangan yang sistem
terkena dan evaluasi risiko dan konsekuensi masing-masing. Efektivitas dan biaya teknik keamanan
yang dibutuhkan kemudian dapat seimbang terhadap ancaman.
2.5 Ringkasan
Seperti digambarkan dalam Bagian 2.2, sistem terdistribusi yang semakin kompleks dalam hal karakteristik fisik yang mendasarinya; misalnya, dalam hal skala sistem, tingkat
heterogenitas melekat dalam sistem tersebut dan tuntutan nyata untuk memberikan akhir
ke- solusi akhir dalam hal sifat seperti keamanan. tempat ini meningkat pentingnya pada
kemampuan untuk memahami dan alasan tentang sistem terdistribusi dalam hal model.
Bab ini ditindaklanjuti pertimbangan model fisik yang mendasari dengan pemeriksaan
mendalam tentang model arsitektur dan fundamental yang mendukungsistem terdistribusi.
Bab ini telah menyajikan pendekatan untuk menggambarkan sistem terdistribusi
dalam haldari model arsitektur meliputi yang masuk akal dari ruang desain ini memeriksa
isu-isu inti dari apa yang berkomunikasi dan bagaimana entitas berkomunikasi,dilengkapi
dengan pertimbangan peran masing-masing elemen dapat bermain bersama dengan
strategi penempatan tepat mengingat infrastruktur didistribusikan fisik. Itu bab juga
memperkenalkan peran kunci dari pola arsitektur dalam memungkinkan lebih kompleks
desain yang akan dibangun dari unsur-unsur inti yang mendasari, seperti client-server
Model disorot di atas, dan menyoroti gaya utama middleware mendukung solusi, termasuk
solusi berbasis pada objek, komponen, layanan web didistribusikan dan didistribusikan
acara.
Dalam hal model arsitektur, pendekatan client-server adalah lazim – Web dan
layanan Internet lainnya seperti FTP, berita dan surat serta layanan web dan DNS
didasarkan pada model ini, sebagaimana pengajuan dan layanan lokal lainnya.
Layanan seperti DNS yang memiliki sejumlah besar pengguna dan mengelola banyak
informasi didasarkan pada beberapa server dan penggunaan partisi data dan replikasi
untuk meningkatkan ketersediaan dan toleransi kesalahan. Caching oleh klien dan
server proxy secara luas digunakan untuk meningkatkan kinerja layanan. Namun,
sekarang ada berbagai pendekatan untuk pemodelan sistem terdistribusi termasuk
filsafat alternatif seperti peer-to-peer komputasi dan dukungan untuk lebih abstraksi berorientasi masalah seperti objek, komponen atau jasa.
Model arsitektur dilengkapi dengan model fundamental, yang membantu dalam
penalaran tentang properti dari sistem terdistribusi dalam hal, misalnya, kinerja,
kehandalan dan keamanan. Secara khusus, kami disajikan model interaksi, kegagalan dan
keamanan. Mereka mengidentifikasi karakteristik umum dari komponen dasar dari mana
sistem terdistribusi dibangun. Model interaksi yang bersangkutan dengan kinerja proses
dan saluran komunikasi dan tidak adanya Jam global. Mengidentifikasi sistem sinkron
sebagai salah satu di mana batas dikenal mungkin ditempatkan pada waktu pelaksanaan
proses, waktu pengiriman pesan dan jam drift. Ini mengidentifikasi sebuah sistem
asynchronous sebagai salah satu di mana tidak ada batas dapat ditempatkan pada proses
eksekusi waktu, waktu pengiriman pesan dan jam melayang - yang merupakan deskripsi
dari perilaku Internet.
Model kegagalan mengklasifikasikan kegagalan proses dan komunikasi dasar
saluran dalam sistem terdistribusi. Masking adalah teknik di mana lebih handal Layanan ini
dibangun dari satu kurang dapat diandalkan oleh masking beberapa kegagalan itu
menunjukkan. Di tertentu, layanan komunikasi yang handal dapat dibangun dari komunikasi
dasar channel dengan menutupi kegagalannya. Misalnya, kegagalan kelalaian dapat ditutupi
oleh mentransmisi pesan hilang. Integritas adalah properti dari komunikasi yang handal - itu
mensyaratkan bahwa pesan yang diterima identik dengan salah satu yang dikirim dan
bahwa tidak ada pesan dikirim dua kali. Validitas adalah properti lain - itu mensyaratkan
bahwa setiap pesan dimasukkan ke dalam penyangga keluar dikirimkan akhirnya ke buffer
pesan yang masuk. Model keamanan mengidentifikasi ancaman mungkin untuk proses dan
komunikasi saluran dalam sistem terdistribusi terbuka. Beberapa dari mereka ancaman
berhubungan dengan integritas: pengguna yang jahat dapat mengutak-atik pesan atau
replay mereka. Lainnya mengancam privasi mereka. masalah keamanan lainnya adalah
otentikasi dari kepala sekolah (user atau server) dari yang nama pesan dikirim. saluran
aman menggunakan teknik kriptografi untuk memastikan integritas dan privasi pesan dan
untuk mengotentikasi pasang berkomunikasi kepala sekolah.
0 komentar:
Post a Comment