Rumah  >  Artikel  >  pangkalan data  >  Contoh analisis prinsip kluster redis

Contoh analisis prinsip kluster redis

WBOY
WBOYke hadapan
2023-05-27 14:55:06938semak imbas

Prinsip kelompok redis

Jika anda boleh bergantung pada pengawal untuk mencapai ketersediaan redis yang tinggi dan jika anda ingin menyokong konkurensi tinggi sambil menampung jumlah data yang besar, anda memerlukan gugusan redis. Kluster Redis ialah penyelesaian storan data teragih yang disediakan oleh redis Kluster berkongsi data melalui pembahagian data dan menyediakan fungsi replikasi dan failover.

Nod

Kluster redis terdiri daripada berbilang nod dan berbilang nod disambungkan melalui perintah bertemu kluster Proses jabat tangan nod:

  1. Nod A menerima arahan bertemu kluster daripada klien

  2. A menghantar mesej meet kepada B berdasarkan alamat IP dan nombor port yang diterima

  3. Nod B menerima mesej meet dan mengembalikan pong

  4. A tahu bahawa B telah menerima mesej meet, mengembalikan mesej ping dan jabat tangan berjaya

  5. Akhir sekali, nod A akan menyebarkan maklumat nod B ke nod lain dalam kelompok melalui protokol gosip, dan nod lain juga akan berjabat tangan dengan B

slot

Redis menyimpan data dalam bentuk serpihan kluster Seluruh pangkalan data kluster dibahagikan kepada 16384 slot Setiap nod dalam kluster boleh memproses 0-16384 slot apabila semua 16384 slot dalam pangkalan data diproses oleh nod berada dalam status Dalam talian, jika tidak selagi satu slot tidak diproses, status luar talian akan diproses. Slot boleh diperuntukkan kepada nod yang sepadan untuk diproses melalui perintah addslots kluster.

slot ialah tatasusunan sedikit, panjang tatasusunan ialah 16384/8=2048, dan setiap bit tatasusunan diwakili oleh 1 untuk diproses oleh nod, dan 0 mewakili tidak diproses angka itu, ia bermakna nod A memproses 0 -7 slot.

Apabila klien menghantar arahan kepada nod, jika ia berlaku untuk mendapati bahawa slot adalah kepunyaan nod semasa, nod akan melaksanakan perintah tersebut Jika tidak, arahan MOVED akan dikembalikan kepada klien untuk membimbing klien ke nod yang betul. (Proses MOVED adalah automatik)

Jika anda menambah atau mengalih keluar nod, ia juga sangat mudah untuk mengagihkan semula slot Redis menyediakan alat untuk membantu merealisasikan migrasi slot Keseluruhan proses adalah dalam talian sepenuhnya dan tidak perlu dihentikan perkhidmatan itu.

Failover

Jika nod A menghantar mesej ping ke nod B, dan nod B tidak bertindak balas kepada pong dalam masa yang ditentukan, maka nod A akan menandakan nod B sebagai pfail disyaki keadaan luar talian, dan pada masa yang sama Hantar status B ke nod lain dalam bentuk mesej Jika lebih separuh daripada nod menandakan B sebagai pfail, B akan ditandakan sebagai gagal di luar talian diberikan kepada mereplikasi data daripada nod hamba yang lebih lama memilih satu untuk menjadi nod induk dan mengambil alih slot nod luar talian Keseluruhan proses adalah hampir sama dengan nod sentinel, yang kedua-duanya adalah berdasarkan Raft protokol untuk pilihan raya.

Atas ialah kandungan terperinci Contoh analisis prinsip kluster redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam