Seni bina kluster ialah cara untuk menyambungkan berbilang komputer melalui rangkaian dan menggunakan kaedah pengurusan bersatu untuk berkelakuan secara luaran sebagai komputer tunggal yang menyediakan perkhidmatan
Peranan kluster:
Mengedarkan tekanan akses pelayan tunggal dan mencapai pengimbangan beban
Mengedarkan storan tekanan pelayan tunggal untuk mencapai kebolehskalaan
Kurangkan bencana perniagaan yang disebabkan oleh masa henti pelayan tunggal
Reka bentuk storan data
Melalui reka bentuk algoritma, kira lokasi di mana kunci harus disimpan
Semua pelan ruang storan dipotong kepada 16384 bahagian, dan setiap hos menyimpan sebahagian Setiap bahagian mewakili ruang storan, bukan ruang storan untuk kunci
Kunci dikira mengikut Keputusan. diletakkan di dalam ruang storan yang sepadan
Tingkatkan kebolehskalaan (ruang storan baharu ditambah, secara rasmi dipanggil 槽
)
gugusan Reka bentuk komunikasi dalaman
Setiap pangkalan data berkomunikasi antara satu sama lain dan menyimpan data nombor slot dalam setiap pangkalan data
Setelah tekan, kembali terus
Satu rindu, maklumkan lokasi tertentu
Mulakan berbilang tingkap dalam mesin maya Lakukan demonstrasi pembinaan kelompok
Arahan utama dilaksanakan dalam
主命令操作客户端
Ubah suai redis.conf
fail konfigurasi
Tambah kandungan berikut
cluster-enabled yes # 启动为节点 cluster-config-file nodes-6379.conf # cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容 cluster-node-timeout 10000 # 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点 cluster-migration-barrier <count> # master连接的slave最小数量
Cepat salin fail konfigurasi 5 mata dan gantikan port di dalamnya
[root@localhost conf]# sed "s/6379/6380/g" redis-6379.conf > redis-6380.conf [root@localhost conf]# sed "s/6379/6381/g" redis-6379.conf > redis-6381.conf [root@localhost conf]# sed "s/6379/6382/g" redis-6379.conf > redis-6382.conf [root@localhost conf]# sed "s/6379/6383/g" redis-6379.conf > redis-6383.conf [root@localhost conf]# sed "s/6379/6384/g" redis-6379.conf > redis-6384.conf [root@localhost conf]# sed "s/6379/6385/g" redis-6379.conf > redis-6385.conf
Selepas semua pelaksanaan, anda boleh melihatnya melalui perintah
cat
Kandungan mesti diubah suai
Mulakan kluster perkhidmatan redis
# 在第一个窗口执行6379服务 redis-server redis-6379.conf # 在第二个窗口执行6380服务 redis-server redis-6380.conf # 在第三个窗口执行6381服务 redis-server redis-6381.conf # 下面的代码依次类推到6385
Jalankan arahan untuk melihat proses dan port redis
ps -ef | grep redis-
Sambungkan nod
Lihat dalam direktori src
redis-trib.rb
Dalam versi yang lebih tinggi, operasi permulaan telah dipindahkan ke
redis-cli
Memulakan memerlukan dua muat turun dua fail Ia adalah
ruby
dangem
# 下载命令也会将gem一起 yum -y install rubygemsSalin selepas log masuk
# --cluster create 创建集群 # --cluster-replicas 1 指定集群的内部结构(1代表一个master连接1个slave,2代表一个master连接两个save) # 后面的连接端口按数量实现master连接哪一个slave,1对1,1对2 redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
Hasil pelaksanaan adalah sebagai berikut:
Hasil melihat maklumat konfigurasi Maklumat selepas melaksanakan perintah
adalah seperti berikutyes
Maklumat selepas melaksanakan perintah
Semak maklumat fail konfigurasi sekali lagi, Semua maklumat kelompok direkodkan di dalamnyaMulakan klien untuk menyimpan data
-c
Oleh kerana penggunaan kluster digunakan, kluster boleh dikendalikan melalui parameter(error) MOVED 5798 127.0.0.1:6380
Jika tidak dinyatakan, Mengendalikan arahan redis akan menggesaKendalikan kluster
-c
Nota:
redis-cli -c # 创建key,通过返回信息可以知道key存储到6380下了 127.0.0.1:6379> set name 123 -> Redirected to slot [5798] located at 127.0.0.1:6380 OK
# 连接指定的集群客户端 [root@localhost data]# redis-cli -c -p 6382 # 获取key 127.0.0.1:6382> get name -> Redirected to slot [5798] located at 127.0.0.1:6380 "123" 127.0.0.1:6380>
cluster nodes
cluster replicate <master-id>
cluster meet ip:port
cluster forget <id>
cluster failover
redis-trib.rb add-node
redis-trib.rb del-node
Shard semula
redis-trib.rb reshard
1 Simulasikan operasi luar talian mesin hamba
Laksanakan
Ctrl + C
Muat turun perkhidmatan pada pelayan hamba
Perhatikan status hos yang disambungkan Jika hos tidak dapat menyambung ke hamba dalam masa 10 saat, ia akan menandakan hamba sebagai gagal, dan perkhidmatan kluster lain akan Jika. sambungan gagal, perkhidmatan lain akan menerima maklumat
Mulakan hamba sekali lagi, dan tuan akan menyambung semula kepada hamba
Jika tuan berada di luar talian, hamba akan bertukar kepada slot tertentu, apabila tuan rumah kembali dalam talian, tuan rumah asal akan menjadi hamba
Atas ialah kandungan terperinci Cara melaksanakan gugusan penggunaan Redis7.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!