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

DIPOS oleh Zevenet | 10 Jun, 2019

Gambaran Keseluruhan

Redis adalah sumber struktur memori dalam sumber terbuka yang boleh digunakan sebagai pangkalan data broker, cache, dan kunci-kunci. Ia menyokong beberapa struktur data: hash, senarai, set, disusun set, bitmap, indeks geospatial, hyperloglogs, dll.

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 kes-kes hamba menjadi salinan eksak kes tuan. Hamba akan secara automatik menyambung semula kepada tuan setiap kali pautan dipecahkan, dan matlamatnya adalah untuk menjadi salinan tepat.

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 turun? Kami akan mengetahui dalam artikel ini bagaimana membuat perkhidmatan maya yang sangat lengkap 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.

Zevenet 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 menubuhkan ladang, kita perlu mempunyai IP maya. Untuk mencapai itu, pergi ke Rangkaian> Antara muka Maya. Kemudian klik Tindakan> Buat Antara Muka Maya. Seterusnya, pilih Antara Muka Ibu Bapa, Nama Muka Maya dan yang Alamat IP:

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

Setelah parameter awal ditetapkan, klik pada Buat. Seterusnya, pergi ke Maju tab dan pastikan jenis protokol TCP.

Seterusnya, pergi ke Perkhidmatan Kami. Backends dan Farm Guardian akan diatur di sini untuk pemeriksaan kesihatan maju. Pertama cari Backends seksyen, dan klik pada Tindakan> Tambahkan 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 'info replication\r\n' -e role:master -t 3

Lokasi HOST dan PORT akan digantikan oleh setiap alamat dan port IP pelayan Redis backend. Arahan replikasi maklumat akan mendapat maklumat dari pelayan Redis untuk mengesahkan tuan mana yang masih hidup, sambungan hanya akan diarahkan ke pelayan jika tuan peranan dipaparkan, sebaik sahaja Sentinel mengubah peranan maka pengimbang beban akan mengesan perubahan dan Redis pelayan akan ditandakan sebagai turun. Bendera -t adalah bilangan detik yang Farm Guardian akan menunggu sambutan pelayan Redis dan jika waktu tamat dicapai tanpa balas, pelayan Redis akan ditandakan sebagai turun. Sebaliknya, sebaik sahaja kesihatan pelayan Redis dipulihkan maka ia akan menjadi hilang lagi.

Tetapi sebelum mengubah Farmer Farm untuk ladang ini, pergi ke Pemantauan> Farmguardian dan kemudian klik Tindakan> Buat Farmguardian.

Pilih nama deskriptif untuk pemeriksa kesihatan Redis Sentinel baru anda, contohnya, check_redis_master seperti dalam contoh, kini pilih check_tcp dalam yang difailkan Farmguardian untuk menyalin dan klik pada Buat seperti yang ditunjukkan di bawah.

Akhirnya, salin arahan yang disebut di atas di dalam Perintah parameter dan lakukan konfigurasi seperti yang ditunjukkan di bawah.

Klik pada Hantar.

Kini, pilih petua kesihatan baru Guard Guardian ini dalam perkhidmatan maya Redis. Kembali kepada LSLB> Ladang, ke ladang yang dibuat dengan nama RedisFarm, Perkhidmatan Kami tab. Akhir sekali, pilih check_redis_master arahan yang dibuat di bawah Pemeriksaan kesihatan untuk backend.

Klik pada Update ladang dan kini Redis akan menjadi sangat tinggi.

Rujukan

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

Berkongsi pada:

Dokumentasi di bawah syarat-syarat Lesen Dokumentasi Bebas GNU.

Adakah artikel ini berguna?

Artikel yang berkaitan