Zookeeper - Pemilihan Pemimpin
Mari kita menganalisis bagaimana node pemimpin dapat dipilih dalam ansambel ZooKeeper. Pertimbangkan adaNjumlah node dalam sebuah cluster. Proses pemilihan pemimpin adalah sebagai berikut -
Semua node membuat znode singkat yang berurutan dengan jalur yang sama, /app/leader_election/guid_.
ZooKeeper ensemble akan menambahkan nomor urut 10 digit ke jalur dan znode yang dibuat akan /app/leader_election/guid_0000000001, /app/leader_election/guid_0000000002, dll.
Untuk contoh tertentu, node yang membuat angka terkecil di znode menjadi pemimpin dan semua node lainnya adalah pengikut.
Setiap node pengikut melihat znode yang memiliki angka terkecil berikutnya. Misalnya, node yang membuat znode/app/leader_election/guid_0000000008 akan mengawasi znode /app/leader_election/guid_0000000007 dan node yang membuat znode /app/leader_election/guid_0000000007 akan mengawasi znode /app/leader_election/guid_0000000006.
Jika leader turun, maka znode yang sesuai /app/leader_electionN terhapus.
Node pengikut baris berikutnya akan mendapatkan notifikasi melalui pengamat tentang penghapusan pemimpin.
Node pengikut baris berikutnya akan memeriksa apakah ada znode lain dengan nomor terkecil. Jika tidak ada, maka itu akan mengambil peran sebagai pemimpin. Jika tidak, ia menemukan node yang membuat znode dengan nomor terkecil sebagai pemimpin.
Demikian pula, semua node pengikut lainnya memilih node yang membuat znode dengan nomor terkecil sebagai pemimpin.
Pemilihan pemimpin merupakan proses yang kompleks jika dilakukan dari awal. Tetapi layanan Zookeeper membuatnya sangat sederhana. Mari kita lanjutkan ke penginstalan Zookeeper untuk tujuan pengembangan di bab berikutnya.