Rumah > pangkalan data > Redis > teks badan

Pembinaan dan penggunaan kluster Redis

WBOY
Lepaskan: 2023-05-10 15:16:36
asal
1563 orang telah melayarinya

Redis ialah pangkalan data nilai kunci berprestasi tinggi yang tidak berkaitan dengan ciri seperti membaca dan menulis pantas, sokongan struktur data berbilang dan ketekunan data Ia digunakan secara meluas dalam cache, pembilang, baris gilir mesej, dsb . Dalam aplikasi sebenar, prestasi satu contoh Redis mempunyai had tertentu, jadi kelompok Redis perlu digunakan untuk mencapai pengembangan mendatar dan ketersediaan tinggi. Artikel ini akan memperkenalkan pembinaan dan penggunaan kelompok Redis.

1. Apakah Kluster Redis

Kluster Redis ialah sistem teragih yang terdiri daripada berbilang nod Redis Setiap nod boleh memproses permintaan pelanggan dan ketersediaan. Kelompok Redis menggunakan mod sharding untuk merealisasikan penyimpanan data yang diedarkan. Data tersebar di antara berbilang nod Setiap nod hanya menyimpan sebahagian daripada data.

Kluster Redis terutamanya merangkumi dua jenis nod: nod induk dan nod hamba. Nod induk bertanggungjawab untuk menerima permintaan tulis daripada pelanggan, mereplikasi data nod induk daripada nod hamba, dan menerima permintaan baca daripada pelanggan Hubungan replikasi induk-hamba juga boleh dibentuk antara nod hamba untuk mencapai redundansi dan failover nod. Apabila nod induk gagal, salah satu nod hamba secara automatik akan menjadi nod induk untuk memastikan ketersediaan kluster.

2. Pembinaan gugusan Redis

1. Persediaan persekitaran

Sebelum mula membina gugusan Redis, anda perlu menyediakan persekitaran berikut:

(1) Pelayan Linux: Ia boleh dibina menggunakan mesin maya atau hos awan Adalah disyorkan untuk menyediakan sekurang-kurangnya 3 pelayan.

(2) Pakej pemasangan Redis: Muat turun versi stabil terkini pakej pemasangan Redis dari tapak web rasmi Redis (https://redis.io/download).

2. Pasang Redis

Ekstrak pakej pemasangan Redis yang dimuat turun ke pelayan, susun dan pasang Redis:

tar xvzf redis-6.0.7.tar.gz
cd redis-6.0.7
make
make install

Selepas pemasangan selesai, anda boleh menggunakan arahan redis-server untuk memulakan pelayan Redis, dan menggunakan arahan redis-cli untuk sambung ke pelayan Redis untuk ujian.

3. Konfigurasikan dan mulakan kelompok Redis

Konfigurasi kelompok Redis diselesaikan melalui fail konfigurasi redis.conf. Cipta fail konfigurasi untuk berbilang nod Redis pada pelayan, bernama redis_7000.conf, redis_7001.conf, dsb. Kandungan fail konfigurasi untuk setiap nod adalah seperti berikut:

port 7000
cluster-enabled ya
cluster-config-file nodes_7000.conf
cluster-node-timeout 5000
daemonize yes
logfile "/var/log/redis/redis.log"
pidfile "/var/run /redis /redis.pid"
dir "/var/lib/redis"

Antaranya, port menentukan nombor port nod, berdaya kluster bermaksud menghidupkan mod kluster dan kluster- config-file menentukan fail konfigurasi nod , cluster-node-timeout menentukan masa tamat untuk komunikasi antara nod, daemonize menentukan sama ada untuk dijalankan dalam mod daemon, logfile dan pidfile menentukan laluan fail log dan pid masing-masing, dan dir menentukan laluan fail data.

Selepas mengubah suai fail konfigurasi setiap nod, gunakan arahan pelayan redis untuk memulakan pelayan Redis setiap nod.

4. Cipta gugusan dan tambah nod

Gunakan perintah redis-cli untuk menyambung ke mana-mana nod Redis dan gunakan perintah jumpa cluster untuk menambah nod lain:

redis-cli -c -p 7000
cluster meet 127.0.0.1 7001
cluster meet 127.0.0.1 7002

Kemudian gunakan arahan cluster addslots untuk menambah slot pada setiap nod, contohnya:

slot tambah kluster 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Akhir sekali, gunakan perintah replika kluster untuk menentukan nod induk untuk nod hamba, contohnya:

kluster replika

Ganti dengan ID nod induk yang sepadan dan gunakan perintah nod kluster untuk melihat maklumat dan status semua nod.

3. Penggunaan kelompok Redis

1. Operasi baca dan tulis

Operasi baca dan tulis dalam kelompok Redis adalah sama seperti operasi Redis biasa -cli untuk menyambung ke Mana-mana nod, dan kemudian laksanakan set dan dapatkan arahan, contohnya:

redis-cli -c -p 7000
set nama "Redis Cluster"
dapatkan nama

2. Pengembangan dan pengurangan

Anda boleh menggunakan perintah slot tambah kluster dan delslot untuk menambah atau memadam slot untuk gugusan Redis, contohnya:

Tambah slot

cluster addslots 1024

Padam slot

cluster delslots 0

Selepas menambah atau memadam slot, anda perlu melaksanakan perintah pengimbangan semula kluster untuk mengagihkan semula slot.

3. Failover dan pemulihan

Kluster Redis menyokong fungsi menukar nod hamba kepada nod induk selepas nod induk gagal Anda boleh menggunakan perintah failover kluster untuk mensimulasikan nod induk kegagalan atau tukar perhubungan tuan-hamba secara manual , contohnya:

Simulasikan kegagalan nod induk

failover kluster

Tukar perhubungan tuan-hamba secara manual

kluster replika # Ubah suai induk nod hamba Nod
failover kluster

Apabila nod induk pulih, nod hamba akan dipulihkan secara automatik ke nod hamba dan menyegerakkan data dengan nod induk .

4

Artikel ini memperkenalkan pembinaan dan penggunaan gugusan Redis boleh mencapai pengembangan mendatar dan ketersediaan tinggi, menyediakan penyelesaian yang baik untuk penyimpanan data berskala besar dan akses serentak yang tinggi. Walau bagaimanapun, penubuhan dan operasi serta penyelenggaraan gugusan Redis juga agak rumit, dan sandaran data dan toleransi kesalahan perlu dilakukan dengan baik. Dalam penggunaan sebenar, adalah perlu untuk memilih penyelesaian kelompok Redis yang sesuai berdasarkan senario perniagaan dan skala sistem.

Atas ialah kandungan terperinci Pembinaan dan penggunaan kluster Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!