Dengan pembangunan aplikasi Internet yang berterusan dan pertumbuhan trafik pengguna yang berterusan, kestabilan dan kebolehpercayaan pangkalan data telah menjadi isu yang semakin penting. Sebagai pangkalan data dalam memori berprestasi tinggi, Redis telah digunakan secara meluas dalam pelbagai senario aplikasi Internet. Dalam kes ini, bagaimana untuk melaksanakan pemulihan bencana jauh pangkalan data Redis telah menjadi masalah yang perlu diselesaikan.
Pemulihan bencana luar tapak merujuk kepada menyandarkan data ke lokasi lain untuk mengelakkan kehilangan data apabila bencana berlaku di pusat data. Redis sendiri tidak menyokong pemulihan bencana jauh, tetapi ia boleh dicapai dalam pelbagai cara.
1. Mekanisme replikasi Redis
Redis menggunakan mekanisme replikasi untuk mencapai ketersediaan yang tinggi. Ketersediaan tinggi Redis dicapai dengan menyegerakkan data daripada satu contoh Redis kepada contoh Redis yang lain. Terdapat dua cara untuk mencapai ketersediaan tinggi Redis: mod master-slave dan sentinel.
1.1 mod tuan-hamba
Mod tuan-hamba merujuk kepada satu tika Redis sebagai tuan, dan tika Redis lain sebagai hamba bertanggungjawab untuk operasi baca dan failover. Dalam mod induk-hamba, nod induk menyalin data ke nod hamba secara tak segerak, dan nod hamba hanya berfungsi sebagai perpustakaan bacaan untuk membaca data, dengan itu mencapai pemisahan induk-hamba.
Apabila induk menulis data, ia akan menyegerakkan operasi penulisan ke semua nod hamba untuk memastikan penyegerakan data Nod hamba akan sentiasa menghantar arahan ping ke nod induk untuk memastikan ketersediaan yang tinggi. Jika nod induk gagal, salah satu nod hamba boleh ditukar kepada nod induk untuk terus menyediakan perkhidmatan melalui pensuisan manual atau failover automatik.
Mod sentinel 1.2
Mod sentinel adalah berdasarkan mod tuan-hamba dan memperkenalkan nod sentinel, iaitu untuk melengkapkan fungsi pensuisan automatik. Sentinel boleh memantau status data, termasuk status nod induk dan nod hamba. Apabila nod induk turun, sentinel akan memilih nod hamba secara automatik sebagai nod induk baharu dan menukar nod hamba lain untuk menyalin data daripada nod Induk baharu, dengan itu mencapai failover pantas.
2. Mekanisme kegigihan Redis
Redis menyokong dua mekanisme kegigihan, RDB dan AOF, yang boleh mengekalkan data dalam memori ke cakera keras untuk mengelakkan kehilangan data.
2.1 Mekanisme RDB
Mekanisme RDB menyimpan petikan data Redis dalam ingatan ke cakera keras, dan kandungan berterusan ialah data pada satu masa. Redis secara berkala akan membuang syot kilat dalam memori ke fail cakera untuk memudahkan pemulihan data apabila dimulakan semula selepas ranap sistem.
2.2 Mekanisme AOF
Mekanisme AOF merekodkan arahan tulis Redis dan mengekalkannya ke cakera keras dalam bentuk tambahan supaya data boleh dipulihkan selepas masa henti. Mekanisme AOF mempunyai kebolehpercayaan dan ketahanan yang lebih tinggi, tetapi ia akan menyebabkan beban tulis tertentu dan menjadi lebih perlahan apabila memulihkan data.
3. Pelaksanaan pemulihan bencana jauh Redis
3.1 Model seni bina pemulihan bencana jauh Redis
Model pemulihan bencana jauh Redis dibahagikan kepada mod siap sedia aktif dan aktif- model aktif.
1) mod siap sedia aktif
mod siap sedia aktif ialah mod siap sedia aktif Nod induk dan nod hamba berada di kawasan yang berbeza dan data nod induk disegerakkan. kepada nod hamba. Nod hamba hanya digunakan sebagai mesin sandaran dan tidak melakukan operasi baca atau tulis. Apabila nod induk gagal, nod hamba akan mengambil alih perniagaan nod induk.
2) mod aktif-aktif
mod aktif-aktif ialah mod berbilang aktif permintaan proses nod Redis pada masa yang sama dan menggunakan kaedah replikasi data ketekalan yang kuat. Berbilang kejadian Redis ialah nod induk dan menyediakan kawasan perniagaan yang berbeza. Apabila permintaan perniagaan dibuat, Redis akan mencari contoh Redis yang sepadan untuk diproses berdasarkan kawasan perniagaan di mana permintaan itu berada.
3.2 Kaedah pelaksanaan
1) Gunakan mekanisme replikasi Redis untuk melaksanakan pemulihan bencana jauh
Dalam seni bina pemulihan bencana jauh, nod induk dan nod hamba diedarkan dalam pelbagai lokasi Di kawasan, mekanisme replikasi Redis digunakan untuk memastikan ketekalan data nod di kawasan yang berbeza. Pada masa yang sama, dengan menunjuk resolusi SLB atau DNS ke IP yang sepadan dengan nod induk, pengimbangan beban permintaan pengguna dicapai, dengan itu mencapai pemulihan bencana jauh.
2) Memperkenalkan komponen ketersediaan tinggi untuk mencapai pemulihan bencana jauh
Memperkenalkan komponen ketersediaan tinggi (seperti versi Redis Alibaba Cloud) ke dalam seni bina untuk mencapai pemulihan bencana jauh dan mencapai ketersediaan tinggi, penyegerakan data, Failover dan fungsi lain meningkatkan kebolehpercayaan dan kebolehskalaan sistem.
3.3 Ringkasan
Melalui mekanisme replikasi Redis, mekanisme kegigihan dan model seni bina pemulihan bencana luar tapak, pemulihan bencana luar tapak Redis direalisasikan untuk memastikan ketersediaan tinggi dan kebolehpercayaan data Redis. Pada masa yang sama, semasa penggunaan sebenar, ia juga perlu untuk memilih penyelesaian pemulihan bencana di luar tapak yang sesuai berdasarkan keperluan khusus dan senario perniagaan, dan menjalankan aplikasi dan konfigurasi yang munasabah.
Atas ialah kandungan terperinci Kaedah PHP untuk melaksanakan pemulihan bencana jauh pangkalan data Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!