Bagaimana untuk membuat pangkalan data Redis yang sangat tersedia dengan pemantauan Sentinel

Lihat Kategori

Bagaimana untuk membuat pangkalan data Redis yang sangat tersedia dengan pemantauan Sentinel

Baca min 3

Pengenalan #

Redis ialah stor struktur data dalam memori sumber terbuka yang boleh digunakan sebagai broker mesej, cache dan pangkalan data nilai kunci. Ia menyokong beberapa struktur data: hash, senarai, set, set tersusun, bitmap, indeks geospatial, hiperloglog dan sebagainya.

Apa yang menjadikan Redis unik ialah ia boleh dianggap sebagai kedai dan cache. Ia direka dengan cara di mana data diubah suai dan / atau dibaca dari ingatan komputer utama.

Antara ciri-ciri lain, Redis menyediakan ketersediaan tinggi, melalui Redis Sentinel , dan pembahagian automatik, melalui Redis Cluster . Di samping itu, Redis mempunyai mekanisme replikasi yang membolehkan tika hamba menjadi salinan tepat tika induk. Hamba akan menyambung semula secara automatik kepada induk setiap kali pautan terputus, dan matlamatnya adalah untuk menjadi salinan tepat daripadanya.

Sebagai Redis Sentinel menyediakan ketersediaan yang tinggi untuk Redis, ia boleh menangani kegagalan secara automatik tanpa campur tangan manusia dalam banyak kes tetapi juga menyediakan tugas lain seperti pemantauan, pemberitahuan, dan bertindak sebagai pembekal konfigurasi untuk pelanggan.

Tetapi, apa yang berlaku apabila Sentinel mengesan pelayan Redis sebagai tergendala? Kita akan menemui dalam artikel ini cara mencipta perkhidmatan maya lengkap yang sangat tersedia untuk Redis.

Sila ambil kira bahawa konfigurasi ini juga boleh dilakukan walaupun pelayan Redis anda tidak menggunakan Sentinel untuk pemantauan.

Persekitaran pengimbangan beban redis #

Senario yang ingin kita capai dalam artikel ini ditunjukkan dalam rajah di bawah.

Redis Sentinel memeriksa keadaan semua Redis nodes dan mengubah peranan pelayan Redis sebaik sahaja ralat dikesan.

Pengimbang beban mengecek negeri juga, tetapi ia secara berkala setiap beberapa saat. Terdapat kes di mana Sentinel mengesan masalah ini tetapi pengimbang beban mungkin mengambil masa beberapa saat untuk direalisasikan. Ini boleh membawa kepada penghantar pengirim permintaan kepada tuan salah yang merupakan salah satu yang baru saja gagal tetapi telah dialihkan oleh Sentinel.

RELIANOID menawarkan kaedah untuk menyelesaikan masalah ini, ladang L4 melakukan pemeriksaan secara berkala. Di sisi lain, ada juga aliran yang dilalui ke backend yang tidak berisi pemeriksaan sebelumnya. Apabila penjaga ladang menyedari bahawa backend tidak responsif, maka itu akan menimbulkan penggera, yang menunjukkan bahawa aliran tidak boleh berjalan seperti ini.

Mengambil kira ini, kami mempunyai satu cek dan satu lagi permintaan. Sekiranya cek gagal, maka aliran akan dihantar terus ke nod lain. Malah petisyen yang sedang berjalan diarahkan ke nod dalam talian yang lain. Ini akan diterangkan secara terperinci dalam konfigurasi.

Konfigurasi mengimbangi beban Redis #

Sebelum menyediakan ladang, kita perlu mempunyai IP maya. Untuk mencapainya, pergi ke Rangkaian > Antara Muka Maya . Kemudian klik pada Tindakan > Cipta Antara Muka Maya . Seterusnya, pilih Antara Muka Induk , Nama Antara Muka Maya dan alamat IPnya :

Kemudian, untuk pelayan maya Redis, kita perlu mencipta ladang L4xNAT. Untuk itu, pergi ke LSLB > Ladang , dan kemudian klik pada Tindakan dan Cipta Ladang.

Setelah parameter awal ditetapkan, klik pada Cipta . Seterusnya, pergi ke tab Lanjutan dan pastikan jenis protokol ialah TCP.

Seterusnya, pergi ke Perkhidmatan . Backends dan Farm Guardian akan disediakan di sini untuk pemeriksaan kesihatan lanjutan. Mula-mula cari bahagian Backends dan klik pada Tindakan > Tambah backend seperti yang ditunjukkan di bawah:

Pemantauan Redis dan pemeriksaan kesihatan lanjutan #

Akhirnya, pemeriksaan Farm Guardian diperlukan untuk memastikan kami sentiasa menggunakan nod dalam talian, seperti yang dijelaskan sebelum ini. Untuk itu, kita perlu mengkonfigurasi yang berikut sebagai perintah Farm Guardian:

check_tcp -E -H HOST -p PORT -s 'replikasi maklumat\r\n' -e role:master -t 3

Di mana HOST dan PORT akan digantikan dengan alamat IP dan port pelayan Redis setiap backend. Replikasi maklumat arahan akan mendapatkan maklumat daripada pelayan Redis untuk mengesahkan master mana yang masih hidup, sambungan hanya akan dialihkan ke pelayan jika master peranan dibentangkan, sebaik sahaja Sentinel mengubah peranan maka pengimbang beban akan mengesan perubahan tersebut dan pelayan Redis akan ditanda sebagai turun. Bendera -t ialah bilangan saat Farm Guardian akan menunggu respons pelayan Redis dan kemudian jika tamat masa dicapai tanpa respons, pelayan Redis akan ditanda sebagai turun. Sebaliknya, sebaik sahaja kesihatan pelayan Redis dipulihkan maka ia akan menjadi naik semula.

Tetapi sebelum mengubah suai Farm Guardian untuk ladang tertentu ini, pergi ke Monitoring > Farmguardian dan kemudian klik pada Action > Create Farmguardian.

Pilih nama deskriptif untuk pemeriksa kesihatan Redis Sentinel baharu anda, contohnya, check_redis_master seperti dalam contoh, sekarang pilih check_tcp dalam Farmguardian yang difailkan untuk disalin dan klik Cipta seperti yang ditunjukkan di bawah.

Akhir sekali, salin arahan yang dinyatakan di atas dalam parameter Command dan lakukan konfigurasi seperti yang ditunjukkan di bawah.

Klik pada Hantar.

Sekarang, pilih pemeriksaan kesihatan lanjutan Farm Guardian baharu ini dalam perkhidmatan maya Redis. Kembali ke LSLB > Farms , ke ladang yang dicipta dengan nama RedisFarm , tab Services . Akhir sekali, pilih arahan check_redis_master yang baru sahaja dicipta di bawah Pemeriksaan Kesihatan untuk bahagian belakang.

Klik pada Kemas kini ladang dan kini Redis akan tersedia sepenuhnya.

Rujukan #

https://redis.io/topics/sentinel
https://redis.io/topics/cluster-tutorial

📄 Muat turun dokumen ini dalam format PDF #

    E-MEL: *

    Dikuasakan oleh BetterDocs