Cara Menyiapkan Replikasi Redis (Dengan Mod Kluster Dilumpuhkan) di CentOS 8 - Bahagian 1

Cara Menyiapkan Replikasi Redis (Dengan Mod Kluster Dilumpuhkan) di CentOS 8 - Bahagian 1

Redis (Pelayan Kamus Jauh) adalah sumber terbuka, cepat, diedarkan dan efisien dalam memori pangkalan data/data Struktur Data yang cekap dan efisien.

Ia menawarkan satu set ciri yang kaya yang menjadikannya berkesan untuk pelbagai kes penggunaan: sebagai pangkalan data, lapisan caching, broker mesej, atau giliran; Berkenaan dengan aplikasi web, aplikasi sembang dan pemesejan, permainan, analisis data masa nyata dan banyak lagi.

Ia menyokong struktur data yang fleksibel, replikasi asynchronous master-hamba untuk skala membaca prestasi dan pengawal terhadap kehilangan data, sharding sisi klien untuk skala penulisan prestasi, dua bentuk kegigihan untuk menulis data memori ke cakera dalam format kompak, kluster, dan pembahagian. Ia juga mempunyai kegagalan automatik untuk penggunaan ketersediaan tinggi melalui Redis Sentinel, Skrip lua, urus niaga, dan banyak lagi.

Menjadi Tiada SQL atau pangkalan data bukan hubungan, Redis menawarkan beberapa manfaat prestasi ke atas sistem pangkalan data tradisional (seperti MySQL/MariaDB, PostgreSQL, dan lain-lain.), kerana semua datanya tinggal atau disimpan dalam memori menjadikannya mudah diakses dengan aplikasi, sementara pangkalan data tradisional harus menulis semua data ke atau dibaca dari cakera atau sumber luaran.

Redis telah menjadi pilihan yang semakin lazim untuk caching, yang membolehkan penggunaan semula data cache (disimpan dalam ruang memori utama aplikasi) dan bukannya selalu menanyakan pangkalan data untuk data yang sering digunakan. Oleh itu, ia adalah sahabat yang hebat Rdms (Sistem Pengurusan Pangkalan Data Relasi) untuk akhirnya meningkatkan prestasi aplikasi.

Dalam tiga bahagian ini Redis siri tutorial, kami akan merangkumi cara menubuhkan dan menggunakan beberapa ciri utama Redis yang replikasi, ketersediaan tinggi menggunakan Redis Sentinel dan Redis Cluster, artikelnya adalah:

Bahagian 1: Cara Menyiapkan Replikasi Redis (dengan Mod Kluster dilumpuhkan) di CentOS 8 Bahagian 2: Cara menyiapkan redis untuk ketersediaan tinggi dengan sentinel di CentOS 8 Bahagian 3: Cara Menyiapkan Kluster Redis (dengan Mod Kluster Diaktifkan) di CentOS 8

Panduan ini menunjukkan cara membuat persediaan Replikasi Redis (Dengan Kluster-mod dilumpuhkan) dalam Centos 8 Linux, termasuk cara memasang redis, konfigurasikan tuan dan replika, dan uji replikasi.

Penting: A Redis Cluster (i.e a Kelompok replikasi) dengan mod kelompok dilumpuhkan mempunyai kumpulan nod tunggal (e.g a tuan dan satu atau dua replika) di mana kluster redis dengan mod kluster didayakan mungkin terdiri daripada dua atau lebih kumpulan nod (e.g tiga tuan masing -masing mempunyai budak atau dua).

Prasyarat:

  1. Pelayan dengan pemasangan CentOS 8

Persediaan Persekitaran Ujian

Redis Master Server: 10.42.0.247 Redis Replica1/Slave1: 10.42.0.21 Redis Replica2/Slave2: 10.42.0.34 
Perwakilan logik gambarajah replikasi redis

Dengan persediaan di atas (yang mempunyai nod primer/induk baca/tulis tunggal dan 2 nod replika baca sahaja), kami mempunyai kumpulan nod tunggal yang mengandungi semua data kluster dalam setiap nod. Sebaik sahaja hamba menghubungkan kepada tuan, ia menerima salinan awal pangkalan data penuh dan apa -apa data yang sebelum ini wujud di hamba akan dibuang.

Selain itu, pelanggan hanya boleh menulis kepada tuan tetapi dibaca dari mana -mana nod dalam kelompok. Dan seperti yang ditulis dilakukan pada tuan, mereka disebarkan kepada semua hamba yang disambungkan untuk mengemas kini dataset hamba secara real-time.

Langkah 1: Memasang Redis di CentOS 8

1. Untuk memulakan, log masuk ke semua Centos 8 nod melalui ssh, kemudian pasang Redis Pakej pada semua nod (tuan dan replika) menggunakan Pengurus Pakej DNF seperti yang ditunjukkan.

# DNF Pasang @Redis 

2. Setelah selesai Redis pemasangan pakej, mulakan Redis perkhidmatan, membolehkannya bermula secara automatik di setiap boot sistem dan periksa sama ada ia berjalan dan berjalan seperti berikut.

# Systemctl Mula Redis # Systemctl Dayakan Redis # Systemctl Status Redis 

3. Anda juga boleh mengesahkan bahawa Redis Pelayan sedang berjalan dan berjalan dengan menyemak port mendengar menggunakan arahan SS, seperti berikut.

# ss -ltpn | Grep Redis-server 
Sahkan port pelayan redis

Langkah 2: Mengkonfigurasi Redis Master Server

4. Redis dikonfigurasi menggunakan /etc/redis.Conf fail konfigurasi, fail konfigurasi contoh yang didokumentasikan sendiri. Pertama, buat sandaran fail asal, kemudian buka untuk mengedit menggunakan editor baris arahan anda.

# cp /etc /redis.conf /etc /redis.Conf.org # vi /etc /redis.Conf 

5. Secara lalai, a Redis contoh dikonfigurasikan untuk mendengar dan menerima sambungan di loopback antara muka, menggunakan Arahan Bind. Untuk berkomunikasi dengan replika, tuan harus dikonfigurasikan untuk mendengar di IPv4 Alamat Loopback dan Alamat IP LANnya I.e 10.42.0.247.

mengikat 127.0.0.1 10.42.0.247 

6. Seterusnya, tetapkan parameter mod yang dilindungi ke tidak untuk membolehkan komunikasi dengan replika seperti yang ditunjukkan.

Mod yang dilindungi no 

Juga, Redis mendengar di Port 6379 yang ditetapkan menggunakan pelabuhan arahan. Ini adalah port data untuk berkomunikasi dengan pelanggan API atau pelanggan CLI.

Port 6379 
Mengkonfigurasi Redis Master Server

7. Untuk mengamankan pilihan Master-Replica komunikasi, kita dapat melindungi tuan menggunakan keperluan Arahan, supaya pelanggan/replika harus mengeluarkan kata laluan pengesahan sebelum menjalankan sebarang arahan atau memulakan proses penyegerakan replikasi, jika tidak, tuan akan menolak permintaan klien/replika (ingat untuk menetapkan kata laluan yang selamat).

Kami akan menggunakan pilihan berikut untuk tujuan demonstrasi, untuk menunjukkan bagaimana ia berfungsi.

Keperluan [dilindungi e -mel] 
Tetapkan kata laluan pengesahan

8. Juga, balak redis disimpan di /var/log/redis/redis.log fail, ini ditetapkan menggunakan fail log Arahan dan tahap kelebihan pelayan lalai adalah notis, ditakrifkan menggunakan Loglevel parameter.

Loglevel notis logfile/var/log/redis/redis.log 
Tetapkan fail log redis dan tahap log

9. Sejak sistemd adalah sistem lalai dan pengurus perkhidmatan di Centos 8, anda boleh mengkonfigurasi Redis untuk berinteraksi dengan sistemd pokok penyeliaan dengan menetapkan diselia parameter ke sistemd.

Sistem yang diselia 
Tetapkan Penyelia Redis ke Sistem

10. Setelah membuat semua konfigurasi yang diperlukan, simpan fail dan tutupnya. Kemudian mulakan semula Redis perkhidmatan untuk menerapkan perubahan baru.

# Systemctl Daemon-Reload # Systemctl Restart Redis 

11. Untuk mengakses Redis pelayan, kita perlu menggunakan Redis-cli (antara muka baris arahan ke pelayan redis). Secara lalai, ia menghubungkan ke pelayan di localhost (AT 127.0.0.1 pelabuhan 6379). Perhatikan bahawa kerana pelayan dijamin daripada pelanggan menggunakan kata laluan, menjalankan arahan sebelum pengesahan harus gagal.

Menggunakan auth Perintah untuk membekalkan kata laluan pengesahan seperti yang ditunjukkan dalam tangkapan skrin berikut.

# Redis-cli 127.0.0.1: 6379> Senarai Pelanggan 127.0.0.1: 6379> AUTH [E -mel dilindungi] 127.0.0.1: 6379> senarai pelanggan 
Akses Redis Server melalui Redis CLI

12. Untuk menyambung ke a replika (Setelah mengkonfigurasi mereka seperti yang diterangkan dalam bahagian seterusnya), gunakan -h dan -p Pilihan untuk menentukan alamat IP/nama hos dan port replika masing -masing (bukan pelabuhan itu 6379 mesti dibuka di firewall replika).

# redis -cli -h 10.42.0.21 -P 6379 

13. Seterusnya, buka Redis Pelabuhan data pelayan di firewall untuk membolehkan sambungan masuk ke tuan, dan kemudian memuatkan semula peraturan firewall menggunakan arahan firewall-cmd seperti yang ditunjukkan.

# firewall-cmd --Zone = public --permanent --add-port = 6379/tcp # firewall-cmd--reload 

Langkah 3: Mengkonfigurasi pelayan replika/hamba Redis

14. Dengan cepat menetapkan a Redis contoh sebagai replika dengan cepat, gunakan Redis-cli utiliti dan hubungi Replika arahan seperti yang ditunjukkan.

# replika redis-cli 10.42.0.247 6379 atau # redis-cli 127.0.0.1: 6379> replika 10.42.0.247 6379 
Sambungkan ke contoh Master Redis

15. Untuk membuat sambungan replikasi kekal, anda perlu membuat perubahan berikut dalam fail konfigurasi. Mulakan dengan membuat sandaran fail asal, kemudian membukanya untuk mengedit.

# cp /etc /redis.conf /etc /redis.Conf.org # vi /etc /redis.Conf 

16. Untuk membolehkan pelanggan menyambung ke replika untuk membaca data, tambahkan alamat IP replika ke Arahan Bind.

# replika1 mengikat 127.0.0.1 10.42.0.21 # replika2 mengikat 127.0.0.1 10.42.0.34 

Menetapkan contoh redis sebagai replika

17. Untuk mengkonfigurasi contoh redis sebagai replika, menggunakan replika parameter dan tetapkan alamat IP nod induk (atau nama hos) dan port sebagai nilai.

replika 10.42.0.247 6379 

Menetapkan replika untuk mengesahkan kepada tuan

18. Seterusnya, kerana contoh induk kami dilindungi menggunakan kata laluan, kami perlu menetapkan kata laluan dalam konfigurasi replika untuk membolehkannya mengesahkan kepada tuan, menggunakan MasterAuth parameter.

MasterAuth [dilindungi e -mel] 

19. Di samping itu, apabila replika kehilangan hubungannya dengan tuan, atau apabila replikasi sedang dijalankan, replika dikonfigurasi untuk membalas permintaan klien, mungkin dengan "luput tarikh"Data. Tetapi jika ia penyegerakan pertama, maka set data mungkin kosong. Tingkah laku ini dikawal oleh Replica-serve-slate-data parameter.

Dan sejak Redis 2.6 Secara lalai replika dibaca sahaja, ini dikawal oleh replika-dibaca sahaja parameter. Anda boleh membuat pelarasan konfigurasi replika yang lain sesuai dengan keperluan aplikasi anda.

20. Sebaik sahaja anda telah membuat semua perubahan yang diperlukan, mulakan semula perkhidmatan Redis pada semua replika.

# systemctl mulakan semula redis 

21. Juga, Buka Pelabuhan 6379 di firewall untuk membolehkan sambungan dari tuan dan pelanggan ke replika, dan muat semula peraturan firewall.

# firewall-cmd --Zone = public --permanenent --add-port = 6379/tcp # firewall-cmd-reload 

Langkah 4: Periksa status replikasi master-replikasi

22. Sekali Master-Replica Konfigurasi replikasi selesai, kita boleh menyemak sama ada set itu berfungsi dengan baik seperti berikut.

Pada tuan, jalankan arahan berikut.

# Redis-cli 127.0.0.1: 6379> AUTH [E -mel dilindungi] 127.0.0.1: 6379> replikasi maklumat 
Semak maklumat penempatan semula Redis mengenai Master

23. Juga, periksa status replikasi pada replika/budak seperti berikut.

# Redis-cli 127.0.0.1: 6379> replikasi maklumat 
Semak maklumat replikasi Redis pada replika redis 1 Semak maklumat replikasi Redis pada replika redis 2

23. Sekarang mari kita menguji replikasi dengan tetapan a nilai kunci Dalam contoh induk dan periksa sama ada data diselaraskan ke replika.

Pada tuan, lakukan ini:

# Redis-cli 127.0.0.1: 6379> AUTH [E -mel dilindungi] 127.0.0.1: 6379> Tetapkan domain 'www.Tecmint.com ' 
Tetapkan nilai utama dalam contoh induk

24. Kemudian periksa sama ada data telah diselaraskan ke replika seperti yang ditunjukkan.

# Redis-cli 127.0.0.1: 6379> Dapatkan Domain 
Semak status penyegerakan data pada replika

Melindungi contoh tuan terhadap risiko kehilangan beberapa menulis

25. Redis mempunyai ciri yang membolehkan contoh induk untuk mengehadkan risiko kehilangan beberapa tulisan sekiranya tidak cukup replika tersedia, kepada bilangan detik yang ditentukan.

Ini bermakna tuan boleh berhenti menerima menulis jika ada kurang dari N replika disambungkan, mempunyai lag kurang atau sama daripada M detik, seperti yang dikawal oleh Min-replicas-to-write dan min-replicas-max-lag pilihan masing -masing.

Untuk menetapkannya, uncomment mereka dan menetapkan nilai mengikut keperluan persediaan anda dalam /etc/redis.Conf, Seperti yang ditunjukkan dalam tangkapan skrin berikut. Konfigurasi ini bermaksud bahawa, dari ping terakhir ke replika, selepas 10 saat, jika terdapat kurang dari 2 replika dalam talian, tuan akan berhenti menerima menulis.

min-replicas-to-write 2 min-replicas-max-lag 10 
Melindungi tuan redis daripada kehilangan menulis

Anda boleh mendapatkan lebih banyak pilihan di seluruh /etc/redis.Conf fail konfigurasi dan untuk lebih terperinci Baca mengenai replikasi dalam dokumentasi Redis.

Dalam artikel seterusnya, kami akan meliputi cara menubuhkan Redis untuk ketersediaan tinggi dengan sentinel di Centos 8. Sehingga itu, tetap terkunci dan ingat untuk berkongsi walaupun anda dan soalan menggunakan borang komen kami di bawah ada untuk anda sampai kepada kami.