Dengan perkembangan pesat Internet dan data besar, jumlah data dan akses telah meningkat dengan pesat. Cara mengendalikan permintaan data besar-besaran dengan cekap telah menjadi masalah mendesak untuk diselesaikan oleh perusahaan. Teknologi caching ialah penyelesaian yang digunakan secara meluas yang boleh meningkatkan kecekapan capaian data dan kelajuan tindak balas pada tahap tertentu. Sebagai pangkalan data dalam memori dengan prestasi cemerlang, Redis telah menjadi penyelesaian cache pilihan bagi banyak perusahaan. Walau bagaimanapun, disebabkan masalah kegagalan titik tunggal Redis itu sendiri, pengelompokan dan pemprosesan failover amat penting. Artikel ini akan membincangkan cara Redis digunakan sebagai pangkalan data cache dari dua aspek: Kelompok Redis dan failover.
1. Gambaran Keseluruhan Kluster Redis
Kluster Redis ialah kaedah penggunaan Redis yang sangat berskala, ketersediaan tinggi dan diedarkan. Ia meningkatkan prestasi dan ketersediaan Redis dengan menyimpan serpihan data pada berbilang nod, dan melalui penyegerakan data dan pengimbangan beban antara nod. Kelompok Redis boleh dikembangkan dan dikurangkan dengan menambah dan mengalih keluar nod untuk memenuhi keperluan perniagaan.
Kluster Redis mengedarkan data melalui slot Hash Bilangan slot Hash ditetapkan dan setiap slot Hash boleh menyimpan pasangan nilai kunci. Dengan melakukan pengiraan Hash pada kekunci, Redis menyimpan data dalam slot Hash yang sepadan.
Kluster Redis akan menjana gelang cincang secara automatik Setiap nod pada gelang adalah tika Redis. Mereka menggunakan slot Cincang sebagai tanda untuk pembahagian cincang dan menggunakan protokol Gossip untuk penyegerakan keadaan antara nod pengesanan. Apabila kejadian Redis turun, kluster akan melakukan failover secara automatik dan memilih nod induk baharu untuk mengambil alih data slot cincang nod induk asal.
2. Pemprosesan failover Redis
Redis failover merujuk kepada cara memilih nod induk baharu secara automatik untuk mengambil alih data nod induk asal apabila nod induk gagal dalam gugusan Redis memastikan ketersediaan sistem dan ketekalan data. Kaedah failover yang digunakan dalam kelompok Redis ialah Automatic Failover (pendek kata AOF).
Prinsip failover Redis AOF ialah setiap nod mengundi pada statusnya sendiri dan memilih nod induk baharu dengan menilai keputusan pengundian. Apabila nod mengesan bahawa nod utama telah diputuskan untuk masa yang lama, ia memulakan proses pemilihan failover. Setiap nod yang mengambil bahagian dalam pilihan raya akan mengundi sendiri dan memilih nod induk baharu melalui algoritma tertentu (seperti algoritma Raft, algoritma Paxos, dll.). Selepas nod induk baharu berjaya dipilih, nod hamba yang tinggal akan bertukar secara automatik kepada nod induk baharu dan memetakan semula slot cincang masing-masing.
Walau bagaimanapun, failover AOF juga mempunyai beberapa kekurangan, seperti:
Untuk menyelesaikan masalah failover, Redis secara rasmi melancarkan penyelesaian baharu, Redis Sentinel, dan menyepadukannya ke dalam Redis versi 2.4.0. Redis Sentinel menyediakan fungsi mengesan status nod Redis secara automatik dan melakukan failover secara automatik. Apabila nod induk gagal, Sentinel akan memilih nod induk baharu secara automatik dan menukarnya kepada nod induk baharu Nod hamba yang perlu ditukar juga akan bertukar secara automatik ke nod induk. Pada masa yang sama, Redis Sentinel juga menyediakan fungsi memantau status gugusan Redis, yang boleh memantau operasi gugusan dalam masa nyata dan membuat pelarasan yang sepadan. Oleh kerana Sentinel mempunyai kestabilan dan kebolehpercayaan yang lebih baik daripada failover AOF, ia digunakan secara meluas dalam kelompok Redis.
3. Ringkasan
Sebagai pangkalan data dalam memori berprestasi tinggi, Redis semakin digemari oleh perusahaan. Dari segi pengelompokan Redis dan pemprosesan failover, melalui penggunaan gugusan Redis dan Redis Sentinel dan cara teknikal lain, masalah kegagalan titik tunggal Redis boleh diselesaikan dengan berkesan dan prestasi serta ketersediaan Redis boleh dipertingkatkan. Walau bagaimanapun, apabila menggunakan kluster Redis, anda juga perlu memberi perhatian kepada isu seperti saiz kluster, bilangan nod dan penyegerakan data Dalam sesetengah senario aplikasi, pengedaran data dan perancangan nod yang munasabah juga boleh meningkatkan prestasi Redis.
Atas ialah kandungan terperinci Redis sebagai kluster pangkalan data cache dan pemprosesan failover. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!