Sistem terdistribusi terdiri dari beberapa komputer yang berkomunikasi melalui jaringan untuk mencapai tujuan bersama. Teori CAP menyatakan bahwa sistem distribusi hanya dapat memenuhi dua dari tiga prinsip yaitu konsistensi, ketersediaan, dan toleransi partisi. Zookeeper menyediakan infrastruktur koordinasi fleksibel untuk lingkungan terdistribusi.
2. Distributed Computing System
Adalah sistem yang terdistribusi, terdiri dari beberapa
komputer otonom yang berkomunikasi melalui jaringan
komputer. Komputer yang saling berinteraksi untuk mencapai
tujuan bersama. Suatu program komputer yang berjalan dalam
sistem terdistribusi disebut program didistribusikan, dan
didistribusikan pemrograman adalah proses menulis program
tersebut. Distributed computing juga mengacu pada
penggunaan sistem terdistribusi untuk memecahkan masalah
komputasi. Dalam distributed computing, masalah dibagi
menjadi banyak tugas, masing-masing yang diselesaikan oleh
satu komputer.
3. Teori CAP (Consistency Availability and
Partition tolerance)
CAP singkatan Konsistensi , Ketersediaan dan Partisi toleransi .
CAP pada dasarnya adalah sebuah teorema yang mengikuti tiga
prinsip.
1. Data yang ada pada semua mesin harus sama dalam segala hal
dan perubahan data yang konsisten harus dilakukan pada
semua mesin atau consistent data.
2. Data harus tersedia secara permanen dan harus diakses setiap
waktu atau availability.
3. Selama kegagalan mesin atau kesalahan dalam mesin database
yang akan bekerja dengan baik tanpa berhenti kerja atau
partition tolerance.
5. Pentingnya teori CAP terhadap web
application yang akan di buat
By simplifying the design and operation of distributed services,
eventual consistency improves availability and performance at the cost
of semantic guarantees to applications. While eventual consistency is a
particularly weak property, eventually consistent stores often deliver
consistent data, and new techniques for measurement and prediction
grant us insight into the behavior of eventually consistent stores.
Concurrently, new research and prototypes for building eventually
consistent data types and programs are easing the burden of reasoning
about disorder in distributed systems. These techniques, coupled with
new results that push the boundaries of highly available systems—
including causality and transactions—make a strong case for the
continued adoption of weakly consistent systems. While eventual
consistency and its weakly consistent cousins are not perfect for every
task, their performance and availability will likely continue to accrue
admirers and advocates in the future.
6. Service Discovery Framework
Adalah software untuk memudahkan para
programmer mendeteksi otomatis perangkat dan
layanan yang ditawarkan oleh perangkat pada
jaringan computer.
7. Eureka
Eureka adalah layanan registrasi. Menyediakan
REST API untuk mengelola pendaftaran layanan,
dan untuk contoh query yang tersedia. Netflix
Ribbon adalah klien IPC yang bekerja dengan
Eureka memuat permintaan keseimbangan di
contoh layanan yang tersedia.
8. Eureka
Pola Penemuan sisi klien memiliki berbagai kelebihan
dan kekurangannya. Pola ini relatif mudah dan,
kecuali untuk registri layanan, tidak ada bagian yang
bergerak lainnya. Juga, karena klien tahu tentang
contoh layanan yang tersedia, dapat membuat cerdas,
keputusan load-balancing aplikasi khusus seperti
menggunakan hashing konsisten. Salah satu
kelemahan signifikan dari pola ini adalah bahwa hal
itu pasangan klien dengan registri layanan. Anda
harus menerapkan sisi klien penemuan layanan logika
untuk setiap bahasa pemrograman dan kerangka
kerja yang digunakan oleh klien layanan Anda.
9. ZooKeeper
Adalah layanan terpusat untuk menjaga informasi
konfigurasi, penamaan, menyediakan sinkronisasi
didistribusikan, dan menyediakan layanan kelompok.
Semua jenis layanan yang digunakan dalam beberapa
bentuk atau lain dengan aplikasi terdistribusi. Setiap kali
mereka diimplementasikan ada banyak pekerjaan yang
masuk ke dalam memperbaiki bug dan kondisi balapan
yang tak terelakkan. Karena kesulitan menerapkan jenis
layanan, aplikasi awalnya biasanya berhemat pada
mereka, yang membuat mereka rapuh di hadapan
perubahan dan sulit untuk mengelola. Bahkan ketika
dilakukan dengan benar, implementasi yang berbeda dari
layanan ini menyebabkan kompleksitas manajemen ketika
aplikasi dikerahkan.
10. ZooKeeper
Zookeeper menyediakan infrastruktur koordinasi
yang fleksibel untuk lingkungan terdistribusi.
Kerangka Zookeeper mendukung banyak aplikasi
industri terbaik saat ini. ZooKeeper berfungsi
untuk mengatur distribusi data dan pemrosesan
data. Zookeeper dipakai oleh Apache HBase.
11. ZooKeeper
Kerangka Zookeeper awalnya dibangun di
"Yahoo!". Sebuah aplikasi terdistribusi yang
dirancang dengan baik harus memenuhi
persyaratan seperti transparansi data, kinerja
yang lebih baik, ketahanan, konfigurasi terpusat,
dan koordinasi. Jadi, mereka merancang kerangka
Zookeeper untuk memenuhi persyaratan ini.