Cara Mengatur Replikasi Redis (dengan mode cluster dinonaktifkan) di Centos 8 - Bagian 1

Cara Mengatur Replikasi Redis (dengan mode cluster dinonaktifkan) di Centos 8 - Bagian 1

Redis (Server Kamus Jarak Jauh) adalah open source terbuka yang sangat populer dan banyak digunakan, cepat, terdistribusi, dan efisien dalam nilai database kunci-memori/server struktur data.

Ini menawarkan serangkaian fitur yang kaya yang membuatnya efektif untuk berbagai kasus penggunaan: sebagai basis data, lapisan caching, broker pesan, atau antrian; Berlaku dalam aplikasi web, aplikasi obrolan dan pesan, permainan, analisis data real-time dan banyak lagi.

Ini mendukung struktur data yang fleksibel, replikasi asinkron master-slave untuk skala pembacaan kinerja dan menjaga terhadap kehilangan data, sharding sisi klien untuk skala kinerja penulisan, dua bentuk kegigihan untuk menulis data dalam memori ke disk dalam format ringkas, pengelompokan, dan Partisi. Ini juga fitur kegagalan otomatis untuk penyebaran ketersediaan tinggi melalui Redis Sentinel, Lua Scripting, transaksi, dan masih banyak lagi.

Menjadi Tidak ada SQL atau database non-relasional, Redis menawarkan beberapa manfaat kinerja dibandingkan sistem basis data tradisional (seperti Mysql/mariadb, PostgreSQL, dll.), karena semua datanya berada atau disimpan dalam memori sehingga mudah diakses ke suatu aplikasi, sementara database tradisional harus menulis semua data ke atau dibaca dari disk atau sumber eksternal.

Redis telah menjadi pilihan yang semakin lazim untuk caching, yang memungkinkan untuk menggunakan kembali data yang di -cache (disimpan dalam ruang memori utama aplikasi) daripada selalu meminta database untuk data yang sering digunakan. Jadi itu adalah teman yang fantastis Rdms (Sistem Manajemen Database Relasional) untuk akhirnya meningkatkan kinerja aplikasi.

Dalam tiga bagian ini Redis Seri Tutorial, Kami Akan Meliputi Cara Mengatur dan Menggunakan Beberapa Fitur Utama Redis yang Replikasi, Ketersediaan Tinggi Menggunakan Redis Sentinel Dan Cluster redis, Artikelnya adalah:

Bagian 1: Cara mengatur replikasi redis (dengan mode cluster dinonaktifkan) di Centos 8 Bagian 2: Cara mengatur redis untuk ketersediaan tinggi dengan sentinel di centos 8 Bagian 3: Cara mengatur cluster redis (dengan mode cluster diaktifkan) di Centos 8

Panduan ini menunjukkan cara mengatur Replikasi Redis (dengan Mode cluster dinonaktifkan) di dalam Centos 8 Linux, termasuk cara menginstal redis, mengkonfigurasi master dan replika, dan menguji replikasi.

Penting: A Cluster redis (Saya.e a Cluster Replikasi) dengan mode cluster dinonaktifkan memiliki grup simpul tunggal (e.g a menguasai dan satu atau dua replika) di mana cluster redis dengan mode cluster diaktifkan dapat terdiri dari dua atau lebih kelompok node (e.G tiga tuan masing -masing memiliki satu atau dua budak).

Prasyarat:

  1. Server dengan instalasi Centos 8

Pengaturan Lingkungan Uji

Redis Master Server: 10.42.0.247 Redis Replica1/Slave1: 10.42.0.21 Redis Replica2/Slave2: 10.42.0.34 
Representasi logis diagram replikasi Redis

Dengan pengaturan di atas (yang memiliki satu node baca/write primer/master dan 2 node replika baca-only), kami memiliki satu kelompok node yang berisi semua data cluster di setiap node. Setelah budak terhubung ke master, ia menerima salinan awal dari database lengkap dan data apa pun yang sebelumnya ada pada slave akan dibuang.

Selain itu, klien hanya dapat menulis ke master tetapi membaca dari node apa pun di cluster. Dan seperti yang ditulis dilakukan pada master, mereka menyebar ke semua budak yang terhubung untuk memperbarui kumpulan data slave secara real-time.

Langkah 1: Memasang Redis di Centos 8

1. Untuk memulainya, masuk ke semua Centos 8 node melalui SSH, lalu pasang Redis Paket pada semua node (master dan replika) menggunakan DNF Package Manager seperti yang ditunjukkan.

# dnf instal @redis 

2. Setelah menyelesaikan Redis instalasi paket, mulai Redis layanan, aktifkan untuk secara otomatis memulai di setiap boot sistem dan periksa apakah sudah naik dan berjalan sebagai berikut.

# Systemctl Mulai Redis # Systemctl Aktifkan Redis # Systemctl Status Redis 

3. Anda juga dapat mengonfirmasi bahwa Redis Server sedang berjalan dan berjalan dengan memeriksa port mendengarkan menggunakan perintah SS, sebagai berikut.

# ss -ltpn | Grep Redis-Server 
Konfirmasi port server redis

Langkah 2: Mengkonfigurasi Redis Master Server

4. Redis dikonfigurasi menggunakan /etc/redis.conf file konfigurasi, file konfigurasi contoh yang didokumentasikan sendiri. Pertama, buat cadangan file asli, lalu buka untuk mengedit menggunakan editor pilihan perintah Anda.

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

5. Secara default, a Redis Contoh dikonfigurasi untuk mendengarkan dan menerima koneksi di Loopback antarmuka, menggunakan arahan bind. Untuk berkomunikasi dengan replika, master harus dikonfigurasi untuk mendengarkan di IPv4 Alamat loopback dan alamat IP LAN -nya i.e 10.42.0.247.

Bind 127.0.0.1 10.42.0.247 

6. Selanjutnya, atur parameter mode yang dilindungi ke TIDAK untuk memungkinkan komunikasi dengan replika seperti yang ditunjukkan.

mode lindung no 

Juga, Redis mendengarkan port 6379 yang diatur menggunakan pelabuhan pengarahan. Ini adalah port data untuk berkomunikasi dengan API aplikasi atau klien CLI.

Port 6379 
Mengkonfigurasi Redis Master Server

7. Untuk mengamankan secara opsional Master-Replika komunikasi, kita dapat melindungi master menggunakan Persyaratan Petunjuk, sehingga klien/replika harus mengeluarkan kata sandi otentikasi sebelum menjalankan perintah apa pun atau memulai proses sinkronisasi replikasi, jika tidak master akan menolak permintaan klien/replika (ingat untuk mengatur kata sandi yang aman).

Kami akan menggunakan opsi berikut untuk tujuan demonstrasi, untuk menunjukkan cara kerjanya.

Persyaratan [dilindungi email] 
Atur kata sandi otentikasi

8. Juga, log redis disimpan di /var/log/redis/redis.catatan file, ini diatur menggunakan Logfile Petunjuk dan tingkat verbositas server default adalah melihat, didefinisikan menggunakan Loglevel parameter.

LogFile Pemberitahuan Loglevel/Var/Log/Redis/Redis.catatan 
Atur file log redis dan level log

9. Sejak Systemd adalah Sistem Default dan Manajer Layanan di Centos 8, Anda dapat mengonfigurasi Redis untuk berinteraksi dengan Systemd Pohon pengawasan dengan mengatur diawasi parameter ke Systemd.

Systemd yang diawasi 
Atur Pengawas Redis ke SystemD

10. Setelah membuat semua konfigurasi yang diperlukan, simpan file dan tutup. Lalu restart Redis Layanan untuk menerapkan perubahan baru.

# Systemctl Daemon-reload # Systemctl Restart Redis 

11. Untuk mengakses Redis server, kita perlu menggunakan redis-cli (Antarmuka baris perintah ke redis-server). Secara default, itu terhubung ke server di localhost (pada 127.0.0.1 pelabuhan 6379). Perhatikan bahwa karena server diamankan dari klien menggunakan kata sandi, menjalankan perintah sebelum otentikasi harus gagal.

Menggunakan auth Perintah untuk menyediakan kata sandi otentikasi seperti yang ditunjukkan pada tangkapan layar berikut.

# redis-cli 127.0.0.1: 6379> Daftar Klien 127.0.0.1: 6379> auth [email dilindungi] 127.0.0.1: 6379> Daftar Klien 
Akses server redis melalui redis cli

12. Untuk terhubung ke a replika (Setelah mengkonfigurasinya seperti yang dijelaskan di bagian selanjutnya), gunakan -H Dan -P Opsi untuk menentukan alamat IP replika/nama host dan port (bukan port itu 6379 Harus terbuka di firewall replika).

# redis -cli -h 10.42.0.21 -P 6379 

13. Selanjutnya, buka Redis Port data server di firewall untuk memungkinkan koneksi masuk ke master, dan kemudian memuat ulang aturan firewall menggunakan perintah firewall-cmd seperti yang ditunjukkan.

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

Langkah 3: Mengkonfigurasi Server Replika/Slave Redis

14. Untuk dengan cepat mengatur a Redis contoh sebagai replika dengan cepat, gunakan redis-cli utilitas dan hubungi Replika perintah seperti yang ditunjukkan.

# REDIS-CLI Replica of 10.42.0.247 6379 atau # redis-cli 127.0.0.1: 6379> replika 10.42.0.247 6379 
Terhubung ke instance master redis

15. Untuk membuat koneksi replikasi permanen, Anda perlu membuat perubahan berikut dalam file konfigurasi. Mulailah dengan mencadangkan file asli, lalu buka untuk diedit.

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

16. Untuk memungkinkan klien terhubung ke replika untuk membaca data, tambahkan alamat IP replika ke BIND Directive.

# replica1 mengikat 127.0.0.1 10.42.0.21 # replica2 mengikat 127.0.0.1 10.42.0.34 

Mengatur instance redis sebagai replika

17. Untuk mengonfigurasi instance redis sebagai a replika, menggunakan replika parameter dan atur alamat IP master node (atau nama host) dan port sebagai nilai.

Replika 10.42.0.247 6379 

Mengatur replika untuk mengotentikasi ke master

18. Selanjutnya, karena instance master kami dilindungi menggunakan kata sandi, kami perlu mengatur kata sandi dalam konfigurasi replika untuk memungkinkannya mengotentikasi ke master, menggunakan MasterAuth parameter.

MasterAuth [Email Dilindungi] 

19. Selain itu, ketika replika kehilangan hubungannya dengan master, atau ketika replikasi sedang berlangsung, replika dikonfigurasi untuk membalas permintaan klien, mungkin dengan “kadaluarsa"Data. Tetapi untuk jika itu sinkronisasi pertama, maka set data mungkin kosong. Perilaku ini dikendalikan oleh Data-servet-serve-stale-data parameter.

Dan, sejak Redis 2.6 Secara default replika hanya baca, ini dikendalikan oleh Replica-baca-hanya parameter. Anda dapat membuat penyesuaian konfigurasi replika lain yang sesuai dengan kebutuhan aplikasi Anda.

20. Setelah Anda membuat semua perubahan yang diperlukan, restart layanan Redis di semua replika.

# Systemctl Restart Redis 

21. Juga, buka port 6379 di firewall untuk memungkinkan koneksi dari master dan klien ke replika, dan memuat ulang aturan firewall.

# firewall-cmd --zone = public --permaneNent --add-port = 6379/tcp # firewall-cmd --reload 

Langkah 4: Periksa status replikasi master-replika

22. Sekali Master-Replika Konfigurasi replikasi selesai, kami dapat memeriksa apakah pengaturannya berfungsi dengan baik sebagai berikut.

Di master, jalankan perintah berikut.

# redis-cli 127.0.0.1: 6379> auth [email dilindungi] 127.0.0.1: 6379> Replikasi info 
Periksa info relokasi Redis tentang master

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

# redis-cli 127.0.0.1: 6379> Replikasi info 
Periksa info replikasi redis tentang replika redis 1 Periksa info replikasi redis tentang replika redis 2

23. Sekarang mari kita uji replikasi dengan pengaturan a Nilai kunci dalam instance master dan periksa apakah data disinkronkan ke replika.

Di master, lakukan ini:

# redis-cli 127.0.0.1: 6379> auth [email dilindungi] 127.0.0.1: 6379> Set Domain 'www.tecmint.com ' 
Tetapkan nilai kunci dalam contoh master

24. Kemudian periksa apakah data telah disinkronkan ke replika seperti yang ditunjukkan.

# redis-cli 127.0.0.1: 6379> Dapatkan domain 
Periksa status sinkronisasi data pada replika

Melindungi contoh master dari risiko kehilangan beberapa penulisan

25. Redis memiliki fitur yang memungkinkan instance master untuk membatasi risiko kehilangan beberapa penulisan jika tidak cukup replika yang tersedia, dengan jumlah detik yang ditentukan.

Ini berarti bahwa seorang master dapat berhenti menerima menulis jika ada kurang dari N replika terhubung, memiliki lag kurang atau sama dari M detik, sebagaimana dikendalikan oleh Min-Replicas-to-Write Dan Min-Replicas-Max-Lag Opsi masing -masing.

Untuk mengaturnya, membatalkan komentar dan mengatur nilai sesuai dengan persyaratan pengaturan Anda /etc/redis.conf, seperti yang ditunjukkan pada tangkapan layar berikut. Konfigurasi ini berarti bahwa, dari ping terakhir ke replika, setelah 10 detik, jika ada kurang dari 2 replika online, master akan berhenti menerima menulis menulis.

Min-Replicas-to-Write 2 Min-Replicas-Max-Lag 10 
Melindungi Master Redis dari Kehilangan Tulisan

Anda dapat menemukan lebih banyak opsi di sisa /etc/redis.conf file konfigurasi dan untuk lebih detail dibaca tentang replikasi dalam dokumentasi redis.

Pada artikel berikutnya, kami akan membahas cara mengatur redis untuk ketersediaan tinggi dengan sentinel di Centos 8. Sampai saat itu, tetap terkunci dan ingatlah untuk membagikan kepada Anda dan pertanyaan menggunakan formulir komentar kami di bawah ini ada di sana untuk Anda hubungi kami.