Rumah >pangkalan data >Redis >Mari kita bincangkan tentang seni bina replikasi tuan-hamba dalam Redis6 dan lihat ciri-cirinya!

Mari kita bincangkan tentang seni bina replikasi tuan-hamba dalam Redis6 dan lihat ciri-cirinya!

青灯夜游
青灯夜游ke hadapan
2021-12-14 10:03:201851semak imbas

Artikel ini akan memperkenalkan anda kepada seni bina replikasi tuan-hamba dalam Redis6 dan memperkenalkan ciri-ciri replikasi tuan-hamba Redis6 Saya harap ia akan membantu semua orang!

Mari kita bincangkan tentang seni bina replikasi tuan-hamba dalam Redis6 dan lihat ciri-cirinya!

Pengenalan kepada replikasi tuan-hamba

Replikasi tuan-hamba merujuk kepada menyalin data dari satu pelayan Redis ke pelayan Redis yang lain. Yang pertama ialah nod induk, dan yang kedua menjadi nod hamba; replikasi data adalah sehala, dan hanya boleh dari nod induk kepada nod hamba. Secara lalai, setiap pelayan Redis ialah nod induk, dan nod induk boleh mempunyai berbilang nod hamba (atau tiada nod hamba), tetapi nod hamba hanya boleh mempunyai satu nod induk. [Cadangan berkaitan: Tutorial Video Redis]

Faedah menggunakan replikasi tuan-hamba: pemisahan baca dan tulis boleh mengembangkan kapasiti bacaan nod induk dan berkongsi tekanan pada nod induk . Untuk pemulihan bencana, sebaik sahaja nod induk turun, nod hamba boleh digunakan sebagai sandaran nod induk dan boleh dipasang pada bila-bila masa.

Pengenalan seni bina

Nod hamba menyalin data nod induk Selepas menyalin, kita boleh melakukan pemisahan baca-tulis. Jika ia adalah satu nod, permintaan aplikasi tertumpu pada nod induk, tetapi dengan nod hamba, ia boleh menanggung sebahagian daripada tekanan baca. Nod induk boleh melakukan operasi baca dan tulis, manakala nod hamba hanya boleh melakukan operasi baca. Ini akan berkongsi tekanan pada nod induk.

Replikasi tuan-hamba Redis, penyediaan persekitaran seni bina tuan dan dua hamba

Selepas bercakap tentang banyak konsep, mari mulakan menggunakan Redis tuan-hamba Mari salin seni bina Kali ini kita menggunakan seni bina satu-tuan-dua-hamba.

#创建文件
mkdir -p /data/redis/master/data
mkdir -p /data/redis/slave1/data
mkdir -p /data/redis/slave2/data

#从节点开启只读模式(默认)
replica-read-only yes

#从节点访问主节点的密码,和requirepass⼀样
masterauth 123456
    
#哪个主节点进⾏复制
replicaof 8.129.113.233 6379

Mula-mula buat nod induk, sentuh fail redis.conf dalam direktori data/redis/master/data, edit fail redis.conf

bind 0.0.0.0
port 6379
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis1.log"
dbfilename "xdclass1.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly1.aof"
masterauth "123456"

Kemudian buat nod hamba 1. Cipta redis.conf

bind 0.0.0.0
port 6380
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis2.log"
dbfilename "xdclass2.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly2.aof"
replicaof 8.129.113.233 6379
masterauth "123456"

dalam direktori data/redis/slave1/data. Cipta nod hamba 2. Bina redis.conf

bind 0.0.0.0
port 6381
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis3.log"
dbfilename "xdclass3.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly3.aof"
replicaof 8.129.113.233 6379
masterauth "123456"
dalam data/redis/slave2. /data directory

Nota: Ingat untuk mematikan tembok api dan buka kumpulan keselamatan rangkaian pada pelayan Alibaba Cloud.

Selepas penciptaan, mulakan nod yang dikonfigurasikan

Kaedah permulaan:

#启动主
./redis-server/data/redis/master/data/redis.conf
#启动从1
./redis-server/data/redis/slave1/data/redis.conf
#启动从2
./redis-server/data/redis/slave2/data/redis.conf

Gunakan replikasi maklumat untuk melihat status nod semasa

Master- replikasi hamba dan pengesahan baca-tulis

1.在主节点创建一个key
set name jack
2.在两个从节点测试是否能拿到主节点的数据
get name
3.在从节点set key是失败的,因为从节点只支持读操作

Seni bina tuan-hamba Redis6 - analisis prinsip pemisahan baca-tulis replikasi

Master- replikasi hamba terbahagi kepada Terdapat dua jenis: satu ialah melakukan penyegerakan penuh apabila induk dan hamba mula-mula bersambung; yang satu lagi ialah melakukan penyegerakan tambahan selepas penyegerakan penuh selesai.

Salinan penuh: Pelayan induk akan memulakan proses latar belakang untuk menjana fail rdb daripada data Redis Pelayan induk akan cache semua arahan tulis yang diterima daripada klien Apabila proses itu disimpan di latar belakang, ia akan Fail rdb dihantar ke pelayan hamba Pada masa ini, pelayan hamba mempunyai data pelayan induk. Selepas itu, pelayan induk akan menghantar arahan yang dicache dalam tempoh ini kepada pelayan hamba melalui protokol penghantaran redis, dan kemudian pelayan hamba akan menggunakan arahan ini secara setempat secara bersendirian seterusnya, akhirnya mencapai ketekalan data

Replikasi tambahan: Nod induk akan terus menulis arahan Apabila hamba menyelesaikan pemulaan dan mula berfungsi, proses pelayan induk menghantar operasi tulis untuk menyegerakkannya ke pelayan dipanggil replikasi tambahan. Replikasi tambahan bermakna setiap kali pelayan melaksanakan arahan tulis, ia menghantar arahan tulis yang sama kepada pelayan hamba, dan pelayan hamba menerima dan melaksanakan arahan tulis yang diterima.

Apakah ciri-ciri replikasi tuan-hamba:

Replikasi tuan-hamba tidak menyekat untuk pelayan tuan/hamba, dan semua data disegerakkan Dalam tempoh ini, permintaan luaran boleh diproses secara normal Satu nod induk boleh mengandungi berbilang nod hamba, dan setiap nod hamba boleh menerima sambungan daripada nod hamba yang lain. Nod hamba tidak akan membiarkan kunci tamat, sebaliknya, selepas kunci nod induk tamat tempoh dan dipadamkan, ia akan menghantar arahan padam kepada nod hamba untuk memadamnya.

Replikasi dipercepatkan: Apabila nod melengkapkan penyegerakan semula, anda perlu mencipta fail RDB pada cakera, dan kemudian memuatkan fail ini untuk menghantar data daripada pelayan, tetapi bagaimana jika kadar cakera agak rendah? Ini akan menyebabkan ketidakkonsistenan data antara nod induk dan nod hamba. Dalam versi baharu Redis, replikasi tanpa cakera disokong, dan fail RBD dihantar terus ke pelayan hamba melalui rangkaian, tanpa menggunakan cakera sebagai perisian tengah.

Jika sambungan tuan-hamba diputuskan, replikasi boleh disambung semula dari tempat sambungan itu terganggu tanpa penyegerakan semula. Selepas versi 2.8, ciri baharu penyegerakan semula ini menggunakan arahan PSYNC, manakala yang lama menggunakan arahan SYNC

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci Mari kita bincangkan tentang seni bina replikasi tuan-hamba dalam Redis6 dan lihat ciri-cirinya!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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