Tutorial Penjaga Kebun Binatang: Apa itu, Architekstur Penjaga Kebun Binatang Apache
Apa itu Sistem Terdistribusi?
Aplikasi terdistribusi adalah aplikasi yang dapat berjalan pada beberapa sistem dalam jaringan. Aplikasi ini berjalan secara bersamaan dengan mengoordinasikan diri mereka sendiri untuk menyelesaikan tugas tertentu. Tugas-tugas ini mungkin memerlukan waktu berjam-jam untuk diselesaikan oleh aplikasi yang tidak terdistribusi.
Apa itu Penjaga Kebun Binatang?
Penjaga Kebun Binatang Apache adalah layanan koordinasi terdistribusi sumber terbuka yang membantu mengelola sejumlah besar host. Manajemen dan koordinasi dalam lingkungan terdistribusi itu rumit. Zookeeper mengotomatiskan proses ini dan memungkinkan pengembang untuk fokus pada pembuatan fitur perangkat lunak daripada khawatir tentang sifat terdistribusinya.
Zookeeper membantu Anda mengelola informasi konfigurasi, penamaan, dan layanan grup untuk aplikasi terdistribusi. Zookeeper mengimplementasikan protokol yang berbeda pada kluster sehingga aplikasi tidak dapat diimplementasikan sendiri. Zookeeper menyediakan tampilan tunggal yang koheren dari beberapa mesin.
Mengapa Penjaga Kebun Binatang Apache?
Berikut adalah alasan penting di balik popularitas Penjaga Kebun Binatang:
- Ini memungkinkan pengecualian dan kerja sama timbal balik antara proses server
- Ini memastikan bahwa aplikasi Anda berjalan secara konsisten.
- Proses transaksi tidak pernah selesai sebagian. Entah itu diberi status Sukses atau Gagal. Keadaan terdistribusi bisa dipertahankan, tapi tidak pernah salah
- Terlepas dari server yang terhubung dengannya, klien akan dapat melihat tampilan layanan yang sama
- Membantu Anda menyandikan data sesuai seperangkat aturan tertentu
- Ini membantu mempertahankan namespace hierarkis standar yang mirip dengan file dan direktori
- Komputer, yang berjalan sebagai satu sistem yang dapat terhubung secara lokal atau geografis
- Hal ini memungkinkan untuk Bergabung/keluar dari node dalam cluster dan status node secara real time
- Anda dapat meningkatkan kinerja dengan menggunakan lebih banyak mesin
- Ini memungkinkan Anda memilih node sebagai pemimpin untuk koordinasi yang lebih baik
- ZooKeeper bekerja cepat dengan beban kerja di mana pembacaan data lebih umum daripada penulisan
Penjaga kebun binatang Architekstur: Bagaimana cara kerjanya?
Berikut penjelasan singkat mengenai Apache Arsitektur penjaga kebun binatang:
- Zookeeper mengikuti Client-Server Architekstur
- Semua sistem menyimpan salinan data
- Pemimpin dipilih saat startup
Server: Server mengirimkan pengakuan ketika ada klien yang terhubung. Jika tidak ada respons dari server yang terhubung, klien secara otomatis mengalihkan pesan ke server lain.
Pelanggan: Klien adalah salah satu node dalam klaster aplikasi terdistribusi. Klien membantu Anda mengakses informasi dari server. Setiap klien mengirim pesan ke server secara berkala yang membantu server mengetahui bahwa klien masih aktif.
Pemimpin: Salah satu server ditunjuk sebagai Pemimpin. Ini memberikan semua informasi kepada klien serta pengakuan bahwa server masih hidup. Ia akan melakukan pemulihan otomatis jika salah satu node yang terhubung gagal.
Pengikut: Node server yang mengikuti instruksi pemimpin disebut pengikut.
- Permintaan baca klien ditangani oleh server Zookeeper yang terhubung
- Permintaan penulisan klien ditangani oleh pemimpin Zookeeper.
Ansambel/Cluster: Kelompok server Zookeeper yang disebut ensembel atau a ClusterAnda dapat menggunakan infrastruktur ZooKeeper dalam mode cluster agar sistem berada pada nilai optimal saat Anda menjalankan Apache.
WebUI Penjaga Kebun Binatang: Jika Anda ingin bekerja dengan manajemen sumber daya ZooKeeper, maka Anda perlu menggunakan WebUI. Hal ini memungkinkan bekerja dengan ZooKeeper menggunakan antarmuka pengguna web, daripada menggunakan baris perintah. Ia menawarkan komunikasi yang cepat dan efektif dengan aplikasi ZooKeeper.
Model Data Penjaga Kebun Binatang (ZDM)
Sekarang dalam tutorial ZooKeeper ini, mari belajar tentang Model Data Zookeeper. Gambar di bawah ini menjelaskan Model Data Apache Zookeeper:
- Model data zookeeper mengikuti namespace Hirarki di mana setiap node disebut ZNode. Node adalah sistem tempat klaster berjalan.
- Setiap ZNode memiliki data. Mungkin atau mungkin tidak memiliki anak
- Jalur ZNode:
- Kanonik, dipisahkan dengan garis miring, dan absolut
- Tidak menggunakan referensi relatif apa pun
- Nama mungkin memiliki karakter Unicode
- ZNode mempertahankan struktur stat dan nomor versi untuk perubahan data.
Jenis Node Penjaga Kebun Binatang
Ada tiga jenis Znode:
Ketekunan znode: Jenis znode ini tetap hidup bahkan setelah klien yang membuat znode spesifik tersebut, terputus. Secara default, di zookeeper, semua node bersifat persisten jika tidak ditentukan.
Tdk kekal znode: Znode penjaga kebun binatang jenis ini hidup sampai klien masih hidup. Oleh karena itu, ketika klien terputus dari penjaga kebun binatang, klien juga akan dihapus. Selain itu, node ephemeral tidak diperbolehkan memiliki anak.
Sequential znode: Znode berurutan dapat bersifat sementara atau persisten. Jadi ketika znode baru dibuat sebagai znode berurutan. Anda dapat menetapkan jalur znode dengan melampirkan 10 digit nomor urut ke nama aslinya.
ZDM- Jam tangan
Zookeeper, peristiwa pengawasan adalah pemicu satu kali yang dikirim ke klien yang mengatur pengawasan. Peristiwa ini terjadi saat data dari pengawasan tersebut berubah. Pengawasan ZDM memungkinkan klien untuk mendapatkan pemberitahuan saat znode berubah. Operasi pembacaan ZDM seperti getData(), getChidleren(), exist memiliki opsi untuk mengatur pengawasan.
Jam tangan diurutkan, urutan acara tontonan sesuai dengan urutan pembaruan. Klien akan dapat melihat acara tontonan untuk znode sebelum melihat data baru yang sesuai dengan znode tersebut.
ZDM- Daftar Kontrol Akses
Zookeeper menggunakan ACL untuk mengontrol akses ke znode-nya. ACL terdiri dari sepasang (Skema: id, izin)
Membangun skema ACL:
dunia: memiliki satu id, siapa saja
auth: Tidak menggunakan id apa pun, Ini mewakili pengguna yang diautentikasi
intisari: gunakan nama pengguna: kata sandi
host: Memungkinkan Anda menggunakan nama host klien sebagai identitas id ACL
IP: gunakan alamat IP host klien sebagai identitas id ACL
Izin ACL:
- MEMBUAT
- BACA BACA
- MENULIS
- DELETE
- ADMIN
Contoh (IP: 192.168.0.0/16, BACA)
ZKS – Status Sesi dan Seumur Hidup
- Sebelum menjalankan permintaan apa pun, penting bagi klien untuk membuat sesi dengan layanan
- Semua klien operasi yang dikirim ke layanan secara otomatis dikaitkan dengan sesi
- Klien dapat terhubung ke server mana pun di cluster. Namun, klien hanya akan terhubung ke satu server saja.
- Sesi ini memberikan “jaminan pesanan”. Permintaan dalam sesi ini dieksekusi dalam urutan FIFO
- Status utama suatu sesi adalah 1) Terhubung, 2) Terhubung 3) Tertutup 4) Tidak Terhubung.
Cara Memasang Penjaga Kebun Binatang
Langkah 1) Klik Lanjutkan Berlangganan
Pergi ke ini link dan klik 'Lanjutkan Berlangganan'
Langkah 2) Terima Syarat & Ketentuan
Di halaman berikutnya, Terima Perjanjian Lisensi
Langkah 3) Pesan Terima Kasih ditampilkan
Anda akan melihat pesan berikut
Langkah 4) Klik Lanjutkan untuk Mengonfigurasi
Refresh halaman setelah 5 menit dan Lanjutkan untuk Konfigurasi
Langkah 5) Klik 'Lanjutkan Peluncuran'
Di layar berikutnya, Luncurkan ZooKeeper
Langkah 6) Selamat!
Kamu selesai!
Aplikasi Penjaga Kebun Binatang Apache
Apache Zookeeper digunakan untuk tujuan berikut:
- Mengelola konfigurasi
- Layanan penamaan
- Memilih pemimpin
- Mengantri pesan
- Mengelola sistem notifikasi
- Synchronisasi
- didistribusikan Cluster Pengelolaan
Perusahaan yang menggunakan Zookeeper
- Yahoo
- eBay
- Netflix
- Zynga
- Nutanix
Kekurangan menggunakan Zookeeper
- Kehilangan data dapat terjadi jika Anda menambahkan Server Zookeeper baru
- Tidak ada Migrasi yang diizinkan untuk pengguna
- Tidak menawarkan dukungan untuk penempatan dan kesadaran Rak
- Zookeeper tidak mengizinkan Anda mengurangi jumlah pod untuk mencegah kehilangan data yang tidak disengaja
- Anda tidak dapat mengalihkan layanan ke jaringan host tanpa instalasi ulang penuh saat layanan disebarkan pada jaringan virtual
- Layanan tidak mendukung perubahan persyaratan volume setelah penerapan awal selesai
- Ada banyak node yang terlibat sehingga mungkin ada lebih dari satu titik kegagalan
- Pesan dapat hilang dalam jaringan komunikasi, sehingga memerlukan perangkat lunak khusus untuk memulihkannya kembali
Kesimpulan
- Aplikasi terdistribusi adalah aplikasi yang dapat berjalan pada banyak sistem dalam satu jaringan
- Apache Zookeeper adalah layanan koordinasi terdistribusi sumber terbuka yang membantu Anda mengelola sejumlah besar host
- Ini memungkinkan pengecualian dan kerja sama timbal balik antara proses server
- Server, Klien, Pemimpin, Pengikut, Ensemble/Cluster, WebUI Penjaga Kebun Binatang adalah komponen penjaga kebun binatang yang penting
- Tiga jenis Znode adalah Persistensi, Ephemeral, dan berurutan
- Jam tangan ZDM adalah pemicu satu kali yang dikirim ke klien yang menyetel jam tangan. Itu terjadi ketika data dari jam tangan itu berubah
- Zookeeper Hadoop menggunakan ACL untuk mengontrol akses ke znode-nya
- Mengelola konfigurasi, Memberi nama layanan, memilih pemimpin, Mengantri pesan, Mengelola sistem notifikasi, Synchronisasi, Didistribusikan Cluster Manajemen, dll.
- Yahoo, Facebook, eBay, Twitter, Netflix adalah beberapa perusahaan terkenal yang menggunakan zookeeper
- Kelemahan utama alat ini adalah kerugian dapat terjadi jika Anda menambahkan Server Zookeeper baru