Berbagi teknologi

6. Konstruksi cluster master-slave Redis

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Konstruksi cluster master-slave Redis

1. Apa yang dimaksud dengan klaster master-slave Redis?

Cluster master-slave Redis adalah cluster pemisahan baca-tulis "satu master dan beberapa budak". Node Master di cluster bertanggung jawab atas permintaan baca dan tulis klien, sedangkan node Slave bertanggung jawab atas permintaan baca klien. Alasan mengapa cluster harus diatur dalam mode pemisahan baca-tulis terutama karena untuk cluster database, tekanan operasi tulis umumnya lebih kecil dan tekanan baca lebih besar. Jadi hanya satu node yang bertanggung jawab untuk memproses operasi permintaan tulis.

2. Konstruksi dan konfigurasi cluster semu

Saat menggunakan model IO thread tunggal, untuk meningkatkan pemanfaatan prosesor, beberapa Redis biasanya diinstal pada satu host untuk membangun cluster semu master-slave Redis. Tentu saja, skenario pseudo-cluster terutama tentang mempelajari Redis.

Pseudo-cluster pemisahan baca-tulis yang akan dibangun di bawah ini berisi satu Master dan dua Budak. Nomor portnya sesuai dengan: 6380, 6381, 6382.

2.1. Salin file redis.conf

​ Di direktori instalasi redis, mkdir sebuah direktori bernama cluster. Kemudian salin file redis.conf ke direktori ini. File yang dimodifikasi nanti akan disertakan dalam file konfigurasi lain, jadi atribut publik yang sama dari setiap node Reids perlu diatur dalam file ini.

2.2. Ubah berkas redis.conf

2.2.1、masterotorisasi

​ Karena kita ingin membangun cluster master-slave, dan setiap host dapat membaca dari Master, yang terbaik adalah mengatur atribut verifikasi kata sandi requirepass. Jika Anda benar-benar perlu mengaturnya, pastikan untuk mengatur kata sandi untuk setiap host dengan nilai yang sama. Saat ini, dua atribut identik harus disetel di setiap file konfigurasi: requirepass dan msterauth. Diantaranya, requirepass digunakan untuk menentukan kata sandi akses host saat ini, dan masterauth digunakan untuk menentukan kata sandi akses yang dikirimkan ketika budak saat ini berada di master, yang digunakan untuk memungkinkan master memverifikasi apakah identitasnya sah.

2.2.2、ganti-nonaktifkan-tcp-nodelay
  1. Apa itu tcp-nodelay:

    Perlu kita ketahui bahwa untuk mengurangi bandwidth jaringan, TCP selalu ingin mengirimkan blok data sebesar mungkin saat mentransmisikan data. Oleh karena itu, algoritma Nagle digunakan dalam TCP. Algoritme ini menyimpan data dalam cache ke ukuran tertentu sebelum mengemas dan mengirimkannya.

  2. Konfigurasi parameter repl-disable-tcp-nodelay:

    Atribut ini digunakan untuk mengatur algoritma untuk menonaktifkan fitur TCP tcp-nodelay. Jika disetel ke ya, ini dinonaktifkan (yaitu, data di-cache ke ukuran tertentu sebelum dikirim). Pada saat ini, komunikasi antara master dan budak akan tertunda, namun jumlah paket TCP yang digunakan akan berkurang dan bandwidth jaringan akan lebih sedikit. Tidak, justru sebaliknya. Catatan: Jika terdapat banyak level master-slave, disarankan untuk menyetelnya ke tidak untuk mencegah penundaan data.

2.3.Konstruksi khusus

Artikel referensi:

http://t.csdnimg.cn/Fjyhw