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!
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.
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"
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!