Rumah > pangkalan data > Redis > Cara melaksanakan gugusan penggunaan Redis7.0

Cara melaksanakan gugusan penggunaan Redis7.0

WBOY
Lepaskan: 2023-05-28 16:28:14
ke hadapan
1771 orang telah melayarinya

Versi terperinci kelompok penggunaan Redis7.0

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

Cara melaksanakan gugusan penggunaan Redis7.0

1 , Kelompok Redis reka bentuk struktur dalaman

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

2. Membina struktur dalaman kelompok

Mulakan berbilang tingkap dalam mesin maya Lakukan demonstrasi pembinaan kelompok

Cara melaksanakan gugusan penggunaan Redis7.0

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最小数量
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

Jalankan arahan untuk melihat proses dan port redis

ps -ef | grep redis-
Salin selepas log masuk

Cara melaksanakan gugusan penggunaan Redis7.0

Sambungkan nod

Lihat dalam direktori srcredis-trib.rb

Dalam versi yang lebih tinggi, operasi permulaan telah dipindahkan ke redis-cli

Memulakan memerlukan dua muat turun dua fail Ia adalah ruby dan gem

# 下载命令也会将gem一起
yum -y install rubygems
Salin 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
Salin selepas log masuk

Hasil pelaksanaan adalah sebagai berikut:

Cara melaksanakan gugusan penggunaan Redis7.0

Hasil melihat maklumat konfigurasi Maklumat selepas melaksanakan perintah

adalah seperti berikut

Cara melaksanakan gugusan penggunaan Redis7.0

yesMaklumat selepas melaksanakan perintah

adalah seperti berikut

Cara melaksanakan gugusan penggunaan Redis7.0

Semak maklumat fail konfigurasi sekali lagi, Semua maklumat kelompok direkodkan di dalamnya

Mulakan klien untuk menyimpan data

-cOleh kerana penggunaan kluster digunakan, kluster boleh dikendalikan melalui parameter (error) MOVED 5798 127.0.0.1:6380 Jika tidak dinyatakan, Mengendalikan arahan redis akan menggesa

-cNota:

Kendalikan kluster

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
Salin selepas log masuk

Nyatakan port untuk menyambungkan klien

# 连接指定的集群客户端
[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>
Salin selepas log masuk
Perintah operasi nod kluster

Lihat maklumat nod kelompok

cluster nodes
Salin selepas log masuk

Masukkan redis nod hamba dan tukar nod induknya

cluster replicate <master-id>
Salin selepas log masuk

Temui nod baharu dan tambah nod induk baharu

cluster meet ip:port
Salin selepas log masuk

Abaikan nod tanpa solt

cluster forget <id>
Salin selepas log masuk

Failover manual

cluster failover
Salin selepas log masuk
arahan redis-trib

Tambah nod

redis-trib.rb add-node
Salin selepas log masuk

Padam nod<🎜
redis-trib.rb del-node
Salin selepas log masuk

Shard semula

redis-trib.rb reshard
Salin selepas log masuk

3. Pensuisan Master-slave dan master-slave

1 Simulasikan operasi luar talian mesin hamba

Laksanakan Ctrl + CMuat 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!

Label berkaitan:
sumber:yisu.com
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