Rumah  >  Artikel  >  Java  >  [Koleksi yang disyorkan] Penyeksaan jiwa! Meriam 31 tembakan Zookeeper

[Koleksi yang disyorkan] Penyeksaan jiwa! Meriam 31 tembakan Zookeeper

Java后端技术全栈
Java后端技术全栈ke hadapan
2023-08-28 16:45:46743semak imbas


Ringkasan pengetahuan teras penjaga zoo

[Koleksi yang disyorkan] Penyeksaan jiwa! Meriam 31 tembakan Zookeeper

Sila baca tajuk

  1. Apa itu ZooKeeper?
  2. Apakah yang ditawarkan oleh ZooKeeper?
  3. Sistem fail Zookeeper
  4. Bagaimanakah Zookeeper memastikan status nod tuan dan hamba disegerakkan?
  5. Empat jenis nod data Znode
  6. Mekanisme Pemerhati Zookeeper -- pemberitahuan perubahan data
  7. Bagaimanakah Pemerhati pendaftaran pelanggan dilaksanakan?
  8. Bagaimana untuk melaksanakan pemprosesan sebelah pelayan Watcher?
  9. Bagaimanakah pelanggan memanggil semula Watcher?
  10. Adakah anda biasa dengan mekanisme kawalan kebenaran ACL?
  11. Adakah anda tahu tentang ciri Chroot?
  12. Adakah anda biasa dengan pengurusan sesi
  13. Apakah peranan pelayan?
  14. Status berfungsi pelayan di bawah Zookeeper
  15. Bagaimanakah data disegerakkan?
  16. Bagaimanakah penjaga zoo memastikan konsistensi transaksi yang berurutan?
  17. Mengapa terdapat nod Induk dalam kelompok teragih?
  18. zk Bagaimana untuk menangani masa henti nod?
  19. Perbezaan antara imbangan beban zookeeper dan imbangan beban nginx
  20. Apakah mod penggunaan Zookeeper?
  21. Apakah bilangan minimum mesin yang diperlukan untuk kluster? Terdapat 3 pelayan dalam kluster, dan salah satu nod dimatikan Adakah Zookeeper masih boleh digunakan pada masa ini?
  22. Adakah kluster menyokong penambahan mesin yang dinamik?
  23. Adakah pemberitahuan pemantauan jam tangan Zookeeper untuk nod kekal? Kenapa tidak kekal?
  24. Apakah pelanggan java Zookeeper?
  25. Apakah itu chubby dan bagaimana anda membandingkannya dengan zookeeper?
  26. Mari kita bincangkan tentang beberapa arahan yang biasa digunakan oleh penjaga zoo.
  27. Apakah kaitan dan perbezaan antara algoritma ZAB dan Paxos?
  28. Senario aplikasi biasa Zookeeper
  29. Apakah fungsi Zookeeper ada?
  30. Beritahu saya tentang mekanisme pemberitahuan Zookeeper?
  31. Hubungan antara Zookeeper dan Dubbo?

Berapa banyak jawapan yang boleh anda berikan?

1. Apakah itu ZooKeeper?

ZooKeeper ialah perkhidmatan penyelarasan teragih sumber terbuka. Ia adalah perisian yang menyediakan perkhidmatan konsisten untuk aplikasi yang diedarkan boleh melaksanakan tugas seperti penerbitan/langganan data, pengimbangan beban, perkhidmatan penamaan, penyelarasan/pemberitahuan yang diedarkan, pengurusan kluster, pemilihan Master, kunci yang diedarkan dan baris gilir yang diedarkan dan fungsi lain.

Matlamat ZooKeeper adalah untuk merangkum perkhidmatan utama yang kompleks dan mudah ralat dan menyediakan pengguna antara muka yang ringkas dan mudah digunakan serta sistem dengan prestasi yang cekap dan fungsi yang stabil.

Zookeeper menjamin ciri konsistensi yang diedarkan berikut:

  • Konsistensi berurutan
  • Atomicity
  • Pandangan tunggal
  • al-time (konsisten akhirnya)

Bacaan pelanggan permintaan boleh diproses oleh mana-mana mesin dalam kluster Jika permintaan baca mempunyai pendengar yang didaftarkan pada nod, pendengar juga akan diproses oleh mesin penjaga zoo yang disambungkan. Untuk permintaan tulis, permintaan ini akan dihantar ke mesin zookeeper lain pada masa yang sama dan hanya selepas konsensus dicapai, permintaan akan kembali dengan jayanya. Oleh itu, apabila bilangan mesin kluster penjaga zoo meningkat, daya pemprosesan permintaan baca akan meningkat tetapi daya pemprosesan permintaan tulis akan berkurangan.

Pemesanan ialah ciri yang sangat penting dalam zookeeper Semua kemas kini dipesan secara global Setiap kemas kini mempunyai cap waktu yang unik ini dipanggil zxid (Id Transaksi Zookeeper). Permintaan baca hanya akan mengikut urutan berbanding kemas kini, iaitu, hasil pemulangan permintaan baca akan mengandungi zxid terbaharu penjaga zoo.

2. Apakah yang disediakan oleh ZooKeeper?

  • Sistem fail
  • Mekanisme pemberitahuan

3. ruang (nod dipanggil znode ). Berbeza daripada sistem fail, nod ini boleh menetapkan data yang berkaitan Dalam sistem fail, hanya nod fail boleh menyimpan data tetapi bukan nod direktori. Selamat datang untuk mengikuti"

Lajur Temuduga" untuk mendapatkan lebih banyak temudugamaklumat kering. Untuk memastikan daya pemprosesan yang tinggi dan kependaman rendah, Zookeeper mengekalkan struktur direktori seperti pokok ini dalam ingatan Ciri ini menghalang Zookeeper daripada digunakan untuk menyimpan jumlah data yang besar.

4. Bagaimanakah Zookeeper memastikan penyegerakan status nod tuan dan hamba?

Inti Zookeeper ialah mekanisme penyiaran atom, yang memastikan penyegerakan antara pelayan. Protokol yang melaksanakan mekanisme ini dipanggil protokol Zab. Protokol Zab mempunyai dua mod, iaitu mod pemulihan dan mod siaran.
  • Mod Pemulihan

Apabila perkhidmatan bermula atau selepas pemimpin ranap, Zab memasuki mod pemulihan Apabila ketua dipilih dan kebanyakan pelayan melengkapkan penyegerakan keadaan dengan ketua, mod pemulihan tamat. Penyegerakan keadaan memastikan bahawa pemimpin dan pelayan mempunyai keadaan sistem yang sama.

  • Mod siaran

Apabila ketua telah menyegerakkan statusnya dengan majoriti pengikut, ia boleh mula menyiarkan mesej, iaitu ia memasuki keadaan siaran. Pada masa ini, apabila pelayan menyertai perkhidmatan ZooKeeper, ia akan bermula dalam mod pemulihan, menemui ketua dan menyegerakkan statusnya dengan ketua. Apabila penyegerakan selesai, ia turut mengambil bahagian dalam penyiaran mesej. Perkhidmatan ZooKeeper kekal dalam keadaan Penyiaran sehingga ketua ranap atau ketua kehilangan sebahagian besar sokongan pengikutnya.

5. Mari kita bincangkan tentang nod data yang zookeeper ada

tidak ada manual, tidak ada pada manual
EPHE MERAL - sementara nod

  • Kitaran hayat nod sementara terikat kepada sesi klien Setelah sesi klien tamat (pemutus sambungan antara klien dan zookeeper tidak semestinya sesi tamat tempoh), maka semua nod sementara yang dibuat oleh klien ini akan. dikeluarkan.
  • persistent_sequential - Node berturut -turut berterusan

  • Ciri -ciri asas adalah sama dengan nod yang berterusan, kecuali bahawa atribut urutan ditambah. nama nod.
EPHEMERAL_SEQUENTIAL - Nod jujukan sementara

🎜🎜Ciri asas adalah sama seperti nod sementara, dengan penambahan atribut jujukan yang dikekalkan oleh nod induk pada nod tersebut. 🎜

6 Mari kita bercakap tentang mekanisme Zookeeper Watcher

Zookeeper membenarkan pelanggan mendaftarkan Watcher dengan Znode pada pelayan Apabila beberapa peristiwa tertentu pada pelayan mencetuskan mesej ini, pelayan akan menghantar mesej kepada klien yang ditentukan Pemberitahuan acara digunakan untuk melaksanakan fungsi pemberitahuan yang diedarkan, dan kemudian pelanggan membuat perubahan perniagaan berdasarkan status pemberitahuan Pemerhati dan jenis acara. Dialu-alukan untuk mengikuti "Lajur Temuduga" untuk mendapatkan lebih banyak maklumat temuduga.

Mekanisme kerja:

(1) Pelanggan mendaftarkan pemerhati

(2) Pelayan memproses pemerhati

(3) Klien menelefon semula pemerhati

Ringkasan ciri Pemerhati:

(1) Tiada satu pun masanya

perkhidmatan Sama ada pelanggan atau pelanggan, sebaik sahaja Watcher dicetuskan, Zookeeper akan mengeluarkannya daripada storan yang sepadan. Reka bentuk ini berkesan mengurangkan tekanan pada pelayan Jika tidak, untuk nod yang dikemas kini dengan kerap, pelayan akan menghantar pemberitahuan acara secara berterusan kepada pelanggan, yang memberikan tekanan besar pada kedua-dua rangkaian dan pelayan.

(2) Pelaksanaan bersiri pelanggan

Proses panggil balik Pemerhati pelanggan ialah proses penyegerakan bersiri. .

3.2 Apabila pelanggan mendaftarkan Pemerhati dengan pelayan, ia tidak menghantar entiti objek Pemerhati sebenar pelanggan kepada pelayan Ia hanya ditandakan dengan atribut jenis boolean dalam permintaan pelanggan.

(4) Acara pemerhati dihantar secara tidak segerak

Peristiwa pemberitahuan pemerhati dihantar secara tidak segerak dari pelayan kepada pelanggan Terdapat masalah Pelanggan dan pelayan yang berbeza berkomunikasi melalui soket, yang mungkin disebabkan oleh kelewatan rangkaian atau faktor lain. Pelanggan memantau acara pada masa yang tidak tersedia kerana Zookeeper sendiri menyediakan jaminan pesanan, iaitu, hanya selepas pelanggan memantau acara itu, ia akan melihat perubahan dalam znod yang dipantau. Oleh itu, kita tidak boleh mengharapkan untuk dapat memantau setiap perubahan nod menggunakan Zookeeper. Penjaga zoo hanya boleh menjamin konsistensi akhirnya, tetapi tidak dapat menjamin konsistensi yang kukuh.

(5) Daftar pemerhati getData, wujud, dapatkanChildren

(6) Pencetus pemerhati mencipta, padam, setData

(7) Apabila pelanggan menyambung ke pelayan baharu, jam tangan akan dicetuskan oleh sebarang acara sesi. Apabila sambungan ke pelayan terputus, jam tangan tidak boleh diterima. Apabila pelanggan menyambung semula, semua jam tangan yang didaftarkan sebelum ini akan didaftarkan semula jika perlu. Biasanya ini benar-benar telus. Terdapat hanya satu kes khas di mana jam tangan mungkin hilang: untuk jam tangan sedia ada pada znod yang belum dibuat, jika ia dicipta semasa pelanggan diputuskan sambungan dan kemudiannya dipadamkan sebelum pelanggan disambungkan , acara jam tangan ini mungkin hilang.

7 Cara pelanggan mendaftarkan pelaksanaan Watcher

(1) Panggil tiga API getData()/getChildren()/exist() dan masukkan objek Watcher

(2) Tandai permintaan (2) request , rangkumkan Watcher ke dalam WatchRegistration

(3) Encapsulate ke dalam objek Packet, hantar permintaan ke server

(4) Selepas menerima respons daripada pelayan, daftarkan Watcher kepada ZKWatcherManager untuk pengurusan

(5) Permintaan kembali dan pendaftaran selesai.

8 Bagaimana pelayan mengendalikan pelaksanaan Watcher

(1) Pelayan menerima Watcher dan menyimpannya

Menerima permintaan pelanggan, memproses permintaan untuk menentukan sama ada Watcher itu perlu didaftarkan jika perlu, tukar nod data Laluan nod dan ServerCnxn (ServerCnxn mewakili sambungan antara klien dan pelayan, melaksanakan antara muka proses Watcher, dan boleh dianggap sebagai objek Watcher pada masa ini) disimpan dalam WatchTable dan watch2Paths of WatcherManager.

(2) Pencetus pemerhati

Ambil pelayan yang menerima permintaan transaksi setData() untuk mencetuskan peristiwa NodeDataChanged sebagai contoh:

2.1 Mengekapsulkan WatchedEvent

Mengekapkan status pemberitahuan NodeData(NodeConnected) (NodeDataChanged) status pemberitahuan (NodeDataChanged) laluan ke dalam satu objek WatchedEvent

2.2 Query Watcher

Cari Watcher dari WatchTable berdasarkan laluan nod

2.3 Tidak dijumpai; menunjukkan bahawa tiada pelanggan telah mendaftarkan Watcher pada nod data ini

2.4 Cari; ekstrak dan padamkan Watcher yang sepadan daripada WatchTable dan Watch2Paths (boleh dilihat dari sini bahawa Watcher adalah satu kali di bahagian pelayan dan menjadi tidak sah selepas dicetuskan sekali)

(3) Panggil kaedah proses untuk mencetuskan Watcher

Berikut ialah proses Tujuan utama adalah untuk menghantar pemberitahuan acara Watcher melalui sambungan TCP yang sepadan dengan ServerCnxn. .

Mekanisme Pemerhati pelanggan juga sekali dicetuskan, Pemerhati akan menjadi tidak sah. 10 Adakah anda biasa dengan mekanisme kawalan kebenaran ACL?

UGO (Pengguna/Kumpulan/Lain-lain)

kini digunakan dalam sistem fail Linux/Unix dan juga merupakan kaedah kawalan kebenaran yang paling banyak digunakan. Ia adalah mod kawalan kebenaran sistem fail berbutir kasar. ACL (Senarai Kawalan Akses) senarai kawalan akses merangkumi tiga aspek:

Mod Kebenaran (Skim)

(1) IP: Kawalan kebenaran daripada butiran alamat IP

digunakan, kebenaran dikonfigurasikan menggunakan pengecam kebenaran serupa dengan nama pengguna:kata laluan, yang mudah untuk membezakan aplikasi berbeza untuk kawalan kebenaran
  • (3) Dunia: kaedah kawalan kebenaran paling terbuka, mod ringkasan khas dengan hanya satu kebenaran Pengenalan "dunia: sesiapa sahaja"
    (4) Super: Pengguna super

Objek kebenaran

Objek kebenaran merujuk kepada pengguna atau entiti yang ditetapkan yang diberi kebenaran, seperti alamat IP atau lampu mesin.

  • PermissionPermission

(1) CREATE: Kebenaran penciptaan nod data, membenarkan objek yang dibenarkan mencipta #nod anak di bawah Znod ini 🎜🎜#

(2) PADAM: Kebenaran pemadaman nod anak, membenarkan objek yang dibenarkan untuk memadamkan nod anak nod data

(3) BACA: Kebenaran membaca nod data, membenarkan kebenaran objek mengakses nod data dan membaca kandungan datanya atau senarai nod anak, dsb.

(4) TULIS: Kebenaran kemas kini nod data, membenarkan objek yang dibenarkan mengemas kini nod data

#🎜 🎜 # (5) ADMIN: Keizinan pengurusan nod data, membenarkan objek yang dibenarkan untuk melaksanakan operasi tetapan berkaitan ACL pada nod data

11 Adakah anda faham Ciri Chroot? Selepas versi 3.2.0, ciri Chroot telah ditambahkan, yang membolehkan setiap pelanggan menetapkan ruang nama untuk dirinya sendiri. Jika pelanggan telah menyediakan Chroot, sebarang operasi yang dilakukan oleh klien pada pelayan akan dihadkan kepada ruang namanya sendiri.

Dengan menyediakan Chroot, pelanggan boleh digunakan untuk sepadan dengan subpokok pelayan Zookeeper Dalam senario di mana berbilang aplikasi berkongsi Zookeeper ke dalam kumpulan, interaksi antara aplikasi yang berbeza boleh direalisasikan. Pengasingan sangat membantu.

12 Adakah anda biasa dengan pengurusan sesi? strategi: Letakkan sesi yang serupa dalam blok yang sama untuk pengurusan, supaya Zookeeper boleh mengasingkan sesi dalam blok yang berbeza dan memproses blok yang sama dengan cara yang bersatu. Prinsip pengedaran: "Titik masa tamat masa seterusnya" (Masa Tamat Tempoh) setiap sesi Formula pengiraan:

Masa Tamat Tempoh_ # Masa semasa + masa tamat sesi🎜 #

ExpirationTime = (ExpirationTime_ / ExpirationInrerval + 1) *

ExpirationInterval, ExpirationInterval merujuk kepada selang semakan tamat masa sesi Zookeeper, tickTime lalai

13 Apakah peranan pelayan

Pemimpin

(1) Satu-satunya penjadual dan pemproses permintaan transaksi, memastikan susunan pemprosesan transaksi kelompok

(2) Penjadual setiap perkhidmatan. dalam kelompok

Pengikut

(1) Memproses permintaan bukan transaksi daripada pelanggan dan memajukan permintaan transaksi kepada pelayan Pemimpin

(2) Mengambil bahagian dalam pengundian cadangan permintaan transaksi

(3) Mengambil bahagian dalam pengundian pemilihan Pemimpin

Pemerhati

(1) Versi 3.0 Peranan pelayan akan diperkenalkan kemudian untuk meningkatkan keupayaan pemprosesan bukan transaksi kluster tanpa menjejaskan keupayaan pemprosesan transaksi kluster

(2) Memproses permintaan bukan transaksi pelanggan dan memajukan permintaan transaksi kepada Pelayan pemimpin

(3) Jangan sertai sebarang Bentuk pengundian

14 Status berfungsi pelayan di bawah Zookeeper

Pelayan mempunyai empat status, iaitu MENCARI, MENGIKUTI, MEMIMPIN, dan.

(1) MENCARI: Mencari status Pemimpin. Apabila pelayan berada di negeri ini, ia akan menganggap tiada pemimpin dalam kluster sekarang, jadi ia perlu memasuki negeri pemilihan pemimpin.

(2) MENGIKUTI: status pengikut. Menunjukkan bahawa peranan pelayan semasa ialah Pengikut.

(3) MEMIMPIN: Status pemimpin. Menunjukkan bahawa peranan pelayan semasa ialah Pemimpin.

(4) MEMERHATI: status pemerhati. Menunjukkan bahawa peranan pelayan semasa ialah Pemerhati.

15. Bolehkah anda beritahu saya bagaimana data itu disegerakkan?

Selepas keseluruhan kluster melengkapkan pemilihan Ketua, Pelajar (nama kolektif untuk Pengikut dan Pemerhati) kembali ke pelayan Pemimpin untuk mendaftar. Selepas pelayan Learner melengkapkan pendaftaran dengan pelayan Leader, ia memasuki fasa penyegerakan data.

Proses penyegerakan data: (semua dijalankan melalui pemesejan)

Pelajar mendaftar dengan Pemimpin

Penyegerakan data#🎜 #sahkan🎜##🎜 🎜🎜#

Penyegerakan data Zookeeper biasanya dibahagikan kepada empat kategori:

(1) Penyegerakan pembezaan langsung (penyegerakan DIFF)

#🎜 dan kemudian )🎜#🎜 penyegerakan dibezakan (penyegerakan TRUNC+DIFF)

(3) Penyegerakan balik sahaja (penyegerakan TRUNC)

(4) Penyegerakan penuh (Penyegerakan SNAP) #🎜🎜 # Sebelum penyegerakan data, pelayan Pemimpin akan melengkapkan pemulaan penyegerakan data:

peerLastZxid:

daripada pelajar Extract lastZxid (proses Zxid terakhir yang diproses oleh pelayan Learner) daripada mesej ACKEPOCH yang dihantar apabila pelayan mendaftar 🎜🎜#Leader ZXID minimum dalam pelayan Proposal cache queue committedLog maxCommittedLog:

#🎜🎜 Maksimum #XID dalam pelayan Gilir cadangan cache commitLog penyegerakan pembezaan langsung (penyegerakan DIFF)
  • Senario: peerLastZxid adalah antara minCommittedLog dan maxCommittedLog dan kemudian digulung semula secara DIFF+UN kemudian berbeza penyegerakan)

#🎜🎜 #Senario: Apabila pelayan Leader baharu mendapati pelayan Learner mengandungi rekod transaksi yang tidak dimilikinya, ia perlu meminta pelayan Learner melakukan transaksi rollback – gulung balik kepada yang wujud pada pelayan Leader dan paling hampir dengan peerLastZxid

  • ZXID sahaja penyegerakan balik (TRUNC penyegerakan)
    • Senario: peerLastZxid lebih besar daripada maxCommittedLog

    Penyegerakan penuh (SNAP penyegerakan)

    • Scenario 1: peerLastZCommit is less than🜎 cenario 2: Tiada baris gilir cache Cadangan pada pelayan Pemimpin dan peerLastZ xid tidak sama dengan lastProcessZxid
    16 Bagaimanakah zookeeper memastikan konsistensi transaksi?

    zookeper menggunakan ida transaksi yang semakin meningkat untuk mengenalpasti ; era baru) digunakan untuk mengenal pasti kitaran ketua Jika pemimpin baru dijana, zaman akan meningkat secara automatik, dan 32 bit yang lebih rendah digunakan untuk menambah kiraan. Apabila cadangan baharu dijana, ia akan mengeluarkan permintaan pelaksanaan transaksi kepada pelayan lain berdasarkan proses dua peringkat pangkalan data Jika lebih separuh daripada mesin boleh melaksanakannya dan berjaya, maka pelaksanaan akan bermula.

    17 Mengapakah terdapat nod Induk dalam kelompok teragih?

    Dalam persekitaran yang diedarkan, sesetengah logik perniagaan hanya perlu dilaksanakan oleh mesin tertentu dalam kelompok, dan mesin lain boleh berkongsi keputusan, yang boleh mengurangkan pengiraan berulang dan meningkatkan prestasi, jadi pemilihan pemimpin diperlukan. .

    18. Bagaimana untuk menangani masa henti nod zk?

    Zookeeper sendiri juga merupakan kluster, dan disyorkan untuk mengkonfigurasi tidak kurang daripada 3 pelayan. Zookeeper sendiri juga perlu memastikan bahawa apabila satu nod turun, nod lain akan terus menyediakan perkhidmatan. Jika Pengikut terputus, masih terdapat 2 pelayan yang menyediakan akses Kerana data pada Zookeeper mempunyai berbilang salinan, data tidak akan hilang

    Jika seorang Leader turun, Zookeeper akan memilih Leader yang baharu.

    Mekanisme kluster ZK ialah selagi lebih separuh daripada nod adalah normal, kluster boleh menyediakan perkhidmatan secara normal. Kelompok akan gagal hanya apabila terdapat terlalu banyak nod ZK dan hanya separuh atau kurang daripada separuh daripada nod boleh berfungsi.

    Jadi

    Sekumpulan 3 nod boleh gagal 1 nod (pemimpin boleh mendapat 2 undi>1.5)

    Sekumpulan 2 nod tidak boleh gagal mana-mana nod (pemimpin boleh mendapat 1 undi<=1)

    19 zookeeper load balancing dan nginx load balancing

    zk's load balancing boleh dilaraskan, nginx hanya boleh melaraskan pemberat, perkara lain yang perlu dikawal perlu menulis plug-in mereka sendiri tetapi throughput nginx lebih tinggi daripada zk adalah jauh lebih besar. Ia harus dikatakan bahawa anda memilih kaedah yang akan digunakan mengikut perniagaan.

    20 Apakah mod penggunaan Zookeeper?

    Zookeeper mempunyai tiga mod penggunaan:

    • Pengedaran mesin tunggal: berjalan pada satu gugusan
    • Pengerahan kluster
      :seu
    • penempatan: memulakan berbilang kelompok pada satu kelompok Instance Zookeeper sedang berjalan.

    21 Apakah bilangan minimum mesin yang diperlukan untuk kluster? Terdapat 3 pelayan dalam kluster, dan salah satu nod dimatikan Adakah Zookeeper masih boleh digunakan pada masa ini?

    Peraturan kelompok ialah 2N+1 unit, N>0, iaitu 3 unit. Anda boleh terus menggunakan pelayan bernombor ganjil selagi tidak lebih separuh daripada pelayan tidak berfungsi.

    22 Adakah kluster menyokong penambahan mesin yang dinamik?

    Malah, ia adalah pengembangan mendatar tidak begitu baik dalam aspek ini. Dua cara:

    • Mulakan semula semua: tutup semua perkhidmatan Zookeeper, ubah suai konfigurasi dan mulakannya. Tidak menjejaskan sesi pelanggan sebelumnya.

    • Mulakan semula satu demi satu: Di bawah prinsip bahawa lebih separuh daripada mesin masih hidup dan tersedia, mulakan semula satu mesin tidak akan menjejaskan luaran perkhidmatan yang disediakan oleh keseluruhan kluster. Ini adalah kaedah yang lebih biasa digunakan.

    Versi 3.5 mula menyokong pengembangan dinamik.

    23 Adakah pemberitahuan pemantauan jam tangan Zookeeper untuk nod kekal?

    Tidak. Kenyataan rasmi: Peristiwa Tontonan ialah pencetus sekali sahaja Apabila data yang ditetapkan Jam Tangan berubah, pelayan menghantar perubahan kepada klien yang Jam Tangan ditetapkan untuk memberitahu mereka.

    Mengapa ia tidak kekal Contohnya, jika pelayan kerap berubah dan pelanggan pemantauan dalam banyak kes, semua pelanggan mesti dimaklumkan tentang setiap perubahan, menyebabkan banyak masalah kepada rangkaian dan pelayan Banyak tekanan.

    Secara amnya, klien melaksanakan getData("/nod A", true acara ditukar dan pelanggan tidak menetapkan acara menonton, ia tidak akan dihantar kepada pelanggan lagi.

    Dalam aplikasi praktikal, dalam banyak kes, pelanggan kami tidak perlu mengetahui setiap perubahan pada pelayan, saya hanya memerlukan data terkini.

    24 Apakah pelanggan java Zookeeper?

    pelanggan java: zkclient zk sendiri dan Kurator sumber terbuka Apache.

    25 Apakah itu montel, dan bagaimana anda membandingkan dengan penjaga zoo?

    chubby adalah daripada Google, melaksanakan sepenuhnya algoritma paxos dan bukan sumber terbuka. Zookeeper ialah pelaksanaan sumber terbuka Chubby, menggunakan protokol zab, varian algoritma paxos.

    26. Mari kita bincangkan beberapa arahan penjaga zoo yang biasa digunakan.

    Arahan biasa: ls get set create delete etc.

    27 Apakah kaitan dan perbezaan antara algoritma ZAB dan Paxos?

    Mata yang sama:

    (1) Kedua-duanya mempunyai peranan yang serupa dengan proses Leader, yang bertanggungjawab untuk menyelaraskan perjalanan pelbagai proses Follower

    (2) Proses Leader akan menunggu lebih separuh daripada Pengikut untuk membuat keputusan Hanya selepas maklum balas yang betul, cadangan akan dihantar

    (3) Dalam protokol ZAB, setiap Cadangan mengandungi nilai zaman untuk mewakili kitaran Pemimpin semasa Nama dalam Paxos ialah Undi

    Perbezaan:

    ZAB. Ia digunakan untuk membina sistem induk dan sandaran data teragih yang sangat tersedia (Zookeeper), dan Paxos digunakan untuk membina sistem mesin keadaan ketekalan teragih.

    28 Senario aplikasi biasa Zookeeper

    Zookeeper ialah model terbitan/langganan pengurusan data dan rangka kerja penyelarasan yang boleh digunakan oleh pembangun untuk menerbitkan dan melanggan data.

    Dengan menggunakan silang nod data kaya dalam Zookeeper dan bekerjasama dengan mekanisme pemberitahuan acara Watcher, adalah sangat mudah untuk membina satu siri fungsi teras yang terlibat dalam aplikasi yang diedarkan, seperti:

    (1) Penerbitan data/ langganan

    (2) Pengimbangan beban

    (3) Perkhidmatan penamaan

    (4) Penyelarasan/pemberitahuan teragih

    (5) Pengurusan kluster

    (6) Pemilihan induk

    (7)(8)

    (7) Kunci teragih

    Barisan Teragih🎜

    29 Apakah fungsi Zookeeper?

    Pengurusan kluster: Pantau status kelangsungan hidup nod, permintaan berjalan, dsb pemilihan nod induk adalah mengenai Proses, menggunakan Zookeeper boleh membantu dalam menyelesaikan proses ini

    Kunci teragih: Zookeeper menyediakan dua jenis kunci: kunci eksklusif dan kunci kongsi. Kunci eksklusif bermakna hanya satu utas boleh menggunakan sumber pada satu masa Kunci yang dikongsi bermakna kunci baca dikongsi dan baca dan tulis adalah saling eksklusif, iaitu, beberapa utas boleh membaca sumber yang sama pada masa yang sama kunci tulis akan digunakan, hanya satu benang boleh menggunakannya. Penjaga zoo boleh mengawal kunci yang diedarkan.

    Perkhidmatan penamaan: Dalam sistem yang diedarkan, dengan menggunakan perkhidmatan penamaan, aplikasi klien boleh mendapatkan alamat, pembekal dan maklumat lain sumber atau perkhidmatan berdasarkan nama yang ditentukan.

    30 Beritahu saya tentang mekanisme pemberitahuan Zookeeper? Pelanggan akan membuat acara pemerhati untuk znod tertentu Apabila znod berubah, pelanggan ini akan menerima pemberitahuan zk, dan kemudian pelanggan boleh membuat perubahan perniagaan berdasarkan perubahan znod.

    31 Apakah hubungan antara Zookeeper dan Dubbo?

    Peranan Zookeeperzookeeper digunakan untuk mendaftar perkhidmatan dan melakukan pengimbangan beban yang mana mesin mesti diketahui oleh pemanggil alamat dan nama perkhidmatan. Sudah tentu, surat-menyurat ini juga boleh dilaksanakan dalam kod perniagaan pemanggil melalui pengekodan keras Walau bagaimanapun, jika mesin yang menyediakan perkhidmatan ditutup, pemanggil tidak mempunyai cara untuk mengetahui Jika kod itu tidak diubah, ia akan terus meminta mesin mati untuk menyediakan perkhidmatan. Zookeeper boleh mengesan mesin yang digantung melalui mekanisme degupan jantung dan memadamkan hubungan yang sepadan antara IP dan perkhidmatan mesin yang digantung daripada senarai. Bagi menyokong konkurensi tinggi, secara ringkasnya, ini bermakna pengembangan mendatar, meningkatkan kuasa pengkomputeran dengan menambah mesin tanpa mengubah kod. Dengan menambahkan mesin baharu untuk mendaftarkan perkhidmatan dengan ZooKeeper, lebih ramai penyedia perkhidmatan ada, lebih ramai pelanggan yang boleh mereka layan.

    dubbo ialah alat untuk mengurus lapisan tengah Di antara lapisan perniagaan dan gudang data, terdapat banyak akses perkhidmatan dan penyedia perkhidmatan yang perlu dijadualkan Dubbo menyediakan rangka kerja untuk menyelesaikan masalah ini.

    Perhatikan bahawa dubbo di sini hanyalah bingkai Apa yang anda letakkan di rak terpulang kepada anda, sama seperti rangka kereta, anda perlu memadankan enjin roda anda. Untuk melengkapkan penjadualan dalam rangka kerja ini, mesti ada pusat pendaftaran yang diedarkan untuk menyimpan metadata semua perkhidmatan Anda boleh menggunakan zk atau yang lain, tetapi semua orang menggunakan zk. .

    Memperkenalkan ZooKeeper sebagai medium storan juga memperkenalkan ciri ZooKeeper. Yang pertama ialah pengimbangan beban. Kapasiti tampung bagi satu pusat pendaftaran adalah terhad Apabila trafik mencapai tahap tertentu, ia perlu dialihkan pengimbangan beban untuk tujuan mengalihkan trafik dengan mudah aplikasi web yang sepadan ; penyegerakan sumber, pengimbangan beban sahaja tidak mencukupi, data dan sumber antara nod perlu disegerakkan, dan kluster ZooKeeper secara semula jadi mempunyai fungsi sedemikian, menggunakan struktur pokok untuk mengekalkan senarai alamat perkhidmatan global, pembekal perkhidmatan Apabila memulakan, tulis alamat URL anda sendiri ke direktori /dubbo/${serviceName}/providers nod yang ditentukan pada ZooKeeper Operasi ini melengkapkan pelepasan perkhidmatan. Ciri lain termasuk pemilihan Mast, kunci yang diedarkan, dsb.

    [Koleksi yang disyorkan] Penyeksaan jiwa! Meriam 31 tembakan Zookeeper

Atas ialah kandungan terperinci [Koleksi yang disyorkan] Penyeksaan jiwa! Meriam 31 tembakan Zookeeper. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Java后端技术全栈. Jika ada pelanggaran, sila hubungi admin@php.cn Padam