cari
Rumahpangkalan dataRedisKetahui lebih lanjut tentang replikasi tuan-hamba dalam Redis
Ketahui lebih lanjut tentang replikasi tuan-hamba dalam RedisDec 27, 2021 am 10:17 AM
redisreplikasi tuan-hamba

Artikel ini akan memperkenalkan anda kepada replikasi tuan-hamba dalam Redis, memperkenalkan konfigurasi tuan-hamba asas, peranan dan prinsip konfigurasi tuan-hamba, saya harap ia akan membantu anda!

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

Redis menyokong fungsi replikasi master-slave, yang boleh dilakukan dengan melaksanakan slaveof (ditukar kepada replicaof selepas versi Redis5) atau menetapkan slaveof dalam fail konfigurasi (ditukar kepada replicaof selepas Versi Redis5) Hidupkan fungsi salin. [Cadangan berkaitan: Tutorial video Redis]

  • Satu induk dan dua gugusan

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

  • Satu master Berbilang hamba

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

Tuan-hamba konfigurasi asas

Master Redis konfigurasi

Master Redis konfigurasi pada dasarnya tidak diperlukan Pengubahsuaian, bahagian utama adalah untuk mengkonfigurasi daripada Redis

Konfigurasi daripada Redis

1. Salin fail redis.conf

2. Pengubahsuaian konfigurasi yang berkaitan

# salve的端口号
port 6380 

#把pid进程号写入pidfile配置的文件
pidfile /var/run/redis_6380.pid 

logfile "6380.log"  

#指定数据存放目录
dir /usr/local/redis‐5.0.3/data/6380 

#需要注释掉bind
#bind127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)

3. Konfigurasikan replikasi tuan-hamba

#从本机master6379的redis实例复制数据,Redis5.0之前使用slaveof
replicaof 192.168.0.60 6379

#配置从节点只读
replica‐read‐only yes

4. Mulakan nod hamba

redis‐server redis.conf

5. Sambungkan nod hamba

redis‐cli ‐p 6380

6 contoh untuk melihat sama ada tika 6380 boleh disegerakkan dalam masa Data yang baru diubah suai

docker run  --name redis-6381 -v /Users/yujiale/docker/redis/conf/redis6381.conf:/etc/redis/redis.conf -v /Users/yujiale/docker/redis/conf/sentinel6381.conf:/etc/redis/sentine.conf -v /Users/yujiale/docker/redis/data6381:/data --network localNetwork --ip 172.172.0.14 -p 16381:6379 -d redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes

Peranan konfigurasi tuan-hamba

Pemisahan baca dan tulis

  • Satu tuan dan berbilang hamba, penyegerakan hamba tuan
  • Tuan bertanggungjawab untuk menulis, dan hamba bertanggungjawab membaca
  • Meningkatkan prestasi dan daya pengeluaran Redis
  • Isu konsistensi data antara tuan dan hamba

Pemulihan bencana data

  • Hamba adalah sandaran tuan
  • Tuan sedang down, dan hamba boleh membaca tetapi tidak menulis
  • Secara lalai, tuan Selepas masa henti, mesin hamba tidak boleh digunakan oleh hos
  • Sentinel boleh melaksanakan pertukaran tuan-hamba untuk mencapai ketersediaan yang tinggi

Prinsip kerja tuan-hamba Redis

Salinan penuh replikasi tuan-hamba

Hanya kali pertama hamba Redis menyambung kepada tuan Redis ialah salinan penuh Jika ia adalah penyambungan semula jangka pendek, ia mungkin salinan penuh atau salinan separa.

  • Carta Aliran

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

1. Wujudkan sambungan Socker yang panjang Redis

Slaver mewujudkan sambungan soket dengan induk

pemproses acara fail berkaitan slaver

  • Pemproses ini menerima fail RDB (salinan penuh) dan menerima komunikasi Master Tulis arahan (salinan tambahan)

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

  • Selepas pelayan induk menerima sambungan Soket pelayan hamba, ia mencipta status klien yang sepadan. Ia bersamaan dengan pelayan hamba yang menjadi pelanggan pelayan induk.

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

  • Hantar arahan ping

    • Slaver menghantar arahan ping kepada Master

      • 1 Semak status baca dan tulis soket

      • 2. Semak sama ada Master boleh memprosesnya secara normal

    • Respons Master:

      • 1 ralat, menunjukkan bahawa Master tidak normal

      • 3, menunjukkan tamat masa rangkaian

Pengesahan kebenaranKetahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

    Selepas tuan dan hamba disambungkan seperti biasa, lakukan pengesahan kebenaran
  • Tuan tidak menetapkan kata laluan (requirepass=""), dan hamba tidak perlu menetapkan kata laluan (masterauth="" ")

Tuan menetapkan kata laluan (requirepass!=""), hamba perlu menetapkan kata laluan (masterauth=nilai requirepass master)

atau hamba menghantar kata laluan kepada tuan melalui arahan auth

2. Redis utama menerima arahan PSYNC Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

Selepas Redis utama menerima arahan PSYNC, melaksanakan arahan bgsave akan menghasilkan petikan rdb terkini,

3 menghantar petikan rdb kepada hamba Redis

Apabila tuan Redis menghantar petikan rdb kepada hamba Redis, tuan akan terus menerima permintaan pelanggan, dan ia akan Permintaan yang boleh mengubah suai set data dicache dalam ingatan dan disimpan dalam cache penimbal relp
  • Fasa syot kilat penyegerakan: Master mencipta dan menghantar syot kilat RDB kepada Hamba, dan Hamba memuatkan dan menghuraikan syot kilat. Master juga menyimpan arahan tulis baharu yang dijana semasa fasa ini ke dalam penimbal.

4 Terima petikan rdb daripada nod

Selepas menerima petikan rdb daripada nod, kosongkan data lama dan muatkan fail rdb

5. Redis induk menghantar fail cache penimbal kepada Redis hamba

Fasa penimbal tulis segerak: Master menyegerakkan perintah operasi tulis yang disimpan dalam penimbal kepada Slave.

6. Terima fail cache penimbal daripada nod

Terima fail cache penimbal daripada nod dan muatkan fail cache penimbal ke dalam memori

7. Master Redis secara berterusan menghantar arahan kepada nod hamba melalui sambungan panjang Socker

Redis hamba menerima arahan yang dihantar oleh Redis tuan dan melaksanakan arahan semasa

Ikhtisar

Jika anda mengkonfigurasi hamba untuk tuan, tidak kira sama ada hamba bersambung kepada tuan buat kali pertama, ia akan menghantar arahan PSYNC kepada tuan untuk meminta salinan data. Selepas induk menerima arahan PSYNC, ia akan melakukan ketekunan data di latar belakang dan menjana fail petikan RDB terkini melalui bgsave Semasa tempoh kegigihan, induk akan terus menerima permintaan pelanggan, dan ia akan menyimpan permintaan ini yang mungkin mengubah suai. set data dalam ingatan. Apabila kegigihan selesai, tuan akan menghantar set data fail RDB kepada hamba, dan hamba akan mengekalkan data yang diterima untuk menjana RDB, dan kemudian memuatkannya ke dalam memori. Kemudian, tuan menghantar arahan yang dicache sebelum ini dalam ingatan kepada hamba. Apabila sambungan antara tuan dan hamba diputuskan atas sebab tertentu, hamba boleh menyambung semula secara automatik kepada tuan Jika tuan menerima berbilang permintaan sambungan serentak hamba, ia hanya akan berterusan sekali, bukan sekali untuk setiap sambungan, dan kemudian hantar. data berterusan ini kepada berbilang hamba yang disambungkan secara serentak.

Salinan separa salinan tuan-hamba

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

Proses umum adalah serupa dengan salinan penuh, jadi saya tidak akan menerangkannya secara terperinci

Penerangan ringkas

Apabila tuan dan hamba diputuskan dan disambungkan semula, keseluruhan data secara amnya akan disalin. Walau bagaimanapun, bermula dari redis versi 2.8, redis menggunakan arahan PSYNC yang boleh menyokong replikasi data separa untuk menyegerakkan data dengan induk Hamba dan induk hanya boleh melakukan replikasi data separa (transmisi disambung semula) selepas sambungan rangkaian diputuskan dan disambungkan semula. Master akan membuat baris gilir cache untuk menyalin data dalam ingatannya untuk cache data untuk tempoh terkini Master dan semua hambanya mengekalkan offset data yang disalin dan id proses induk, apabila sambungan rangkaian diputuskan. Selepas itu, hamba akan meminta tuan untuk meneruskan replikasi yang belum selesai, bermula dari indeks data yang direkodkan. Jika ID proses induk berubah, atau pengimbangan data nod hamba terlalu lama dan tidak lagi berada dalam baris gilir cache induk, maka salinan data penuh akan dilakukan. Replikasi tuan-hamba (replikasi separa, resume titik putus) carta alir:

Penyegerakan tambahan replikasi tuan-hamba

  • Penyegerakan tambahan Redis Ia terutamanya merujuk kepada proses menyegerakkan operasi tulis Master kepada Slave apabila Slave melengkapkan permulaan dan mula berfungsi seperti biasa.

  • Biasanya, setiap kali Guru melaksanakan arahan tulis, ia akan menghantar arahan tulis yang sama kepada Hamba, dan kemudian Hamba akan menerima dan melaksanakannya.

Pengesan degupan jantung replikasi tuan-hamba

1. Kesan status sambungan tuan-hamba

Kesan status sambungan rangkaian pelayan induk dan hamba Dengan menghantar arahan replikasi INFO ke pelayan induk, anda boleh menyenaraikan pelayan hamba Anda boleh melihat berapa saat telah berlalu sejak arahan terakhir dihantar kepada induk . Nilai lag harus melompat antara 0 atau 1. Jika melebihi 1, ini bermakna sambungan antara tuan dan hamba adalah rosak.

2. Pelaksanaan tambahan hamba-min

Redis boleh dikonfigurasikan untuk menghalang pelayan utama daripada melaksanakan perintah tulis min-hamba-untuk-tulis 3 ( min -replicas-to-write 3) min-slaves-max-lag 10 (min-replicas-max-lag 10) Konfigurasi di atas bermaksud: bilangan pelayan hamba adalah kurang daripada 3, atau kelewatan tiga pelayan hamba (lag ) nilai lebih besar daripada atau sama dengan 10 saat, pelayan induk akan menolak untuk melaksanakan arahan tulis. Nilai kelewatan di sini ialah nilai lag perintah INForeplication di atas.

3. Kesan kehilangan arahan

Jika arahan tulis yang dihantar dari pelayan induk ke pelayan hamba hilang separuh jalan akibat kegagalan rangkaian, maka apabila pelayan hamba menghantar REPLCONF ke pelayan induk Apabila melaksanakan arahan ACK, pelayan induk akan mendapati bahawa pengimbangan replikasi semasa pelayan hamba adalah kurang daripada pengimbangan replikasinya sendiri Kemudian pelayan induk akan mencari data pelayan hamba yang hilang dalam replikasi penimbal tunggakan berdasarkan offset replikasi yang dihantar oleh data pelayan hamba dan menghantar semula data ke pelayan hamba. (Keluaran semula) Rangkaian disegerakkan secara berterusan secara berperingkat: rangkaian diputuskan sambungan dan apabila disambungkan semula

Cara menilai sama ada salinan penuh atau salinan separa

Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis

Selepas klien menghantar saveof, nod induk akan menilai sama ada ia adalah salinan pertama , dan jika ya, teruskan Salinan penuh, jika offset runid tidak digunakan untuk menentukan sama ada ia konsisten, jika konsisten, salinan separa akan dilakukan, jika tidak, salinan penuh akan dilakukan.

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

Atas ialah kandungan terperinci Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:掘金社区. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
es和redis区别es和redis区别Jul 06, 2019 pm 01:45 PM

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

一起来聊聊Redis有什么优势和特点一起来聊聊Redis有什么优势和特点May 16, 2022 pm 06:04 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

实例详解Redis Cluster集群收缩主从节点实例详解Redis Cluster集群收缩主从节点Apr 21, 2022 pm 06:23 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

Redis实现排行榜及相同积分按时间排序功能的实现Redis实现排行榜及相同积分按时间排序功能的实现Aug 22, 2022 pm 05:51 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。

详细解析Redis中命令的原子性详细解析Redis中命令的原子性Jun 01, 2022 am 11:58 AM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

一文搞懂redis的bitmap一文搞懂redis的bitmapApr 27, 2022 pm 07:48 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

实例详解Redis实现排行榜及相同积分按时间排序功能的实现实例详解Redis实现排行榜及相同积分按时间排序功能的实现Aug 26, 2022 pm 02:09 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,下面一起来看一下,希望对大家有帮助。

redis error什么意思redis error什么意思Jun 17, 2019 am 11:07 AM

redis error就是redis数据库和其组合使用的部件出现错误,这个出现的错误有很多种,例如Redis被配置为保存数据库快照,但它不能持久化到硬盘,用来修改集合数据的命令不能用。

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini