


Contoh analisis sandaran Redis, pemulihan bencana dan amalan ketersediaan tinggi
1. Pengenalan ringkas kepada Redis
Redis ialah pangkalan data bukan hubungan nilai kunci berprestasi tinggi Disebabkan ciri prestasi tingginya, ia menyokong ketersediaan tinggi, ketekunan , dan berbilang Pelbagai struktur data, kelompok, dsb. menjadikannya menonjol dan menjadi pangkalan data bukan perhubungan yang biasa digunakan.
Selain itu, Redis mempunyai banyak senario penggunaan.
Cache Sesi
Sesi cache Redis mempunyai kelebihan yang sangat baik, kerana Redis memberikan ketekunan, dalam senario aplikasi yang perlu mengekalkan sesi untuk masa yang lama, seperti senario troli beli-belah Adegan boleh memberikan sokongan sesi panjang yang baik dan memberikan pengguna pengalaman membeli-belah yang baik.
Caching halaman penuh
Dalam WordPress, Pantheon menyediakan wp-redis pemalam yang baik, yang boleh memuatkan halaman yang telah anda semak imbas pada kelajuan terpantas.
Barisan
Redis menyokong operasi senarai dan tetapan, jadi ia sangat sesuai digunakan sebagai platform baris gilir mesej. Kami sering menggunakan fungsi baris gilir Reids untuk mengehadkan pembelian. Contohnya, semasa cuti atau tempoh promosi, beberapa aktiviti mungkin dijalankan untuk menyekat gelagat pembelian pengguna, mengehadkan mereka kepada beberapa pembelian sahaja hari ini atau sekali sahaja dalam tempoh masa. Ia juga lebih sesuai untuk aplikasi.
Kedudukan
Redis melakukan kerja yang sangat baik untuk menambah atau mengurangkan nombor dalam ingatan. Oleh itu, kami menggunakan Redis dalam banyak senario kedudukan Sebagai contoh, tapak web novel meletakkan kedudukan novel dan mengesyorkan novel kedudukan teratas kepada pengguna berdasarkan kedudukan.
Terbitkan/Langgan
Redis menyediakan fungsi terbitkan dan langgan. Terdapat banyak senario untuk menerbitkan dan melanggan Sebagai contoh, kita boleh menggunakan fungsi terbitkan dan langgan Redis berdasarkan pencetus skrip penerbitan dan melanggan sistem sembang.
Selain itu, terdapat banyak senario lain yang menunjukkan prestasi Redis dengan baik.
2. Masalah kegagalan titik tunggal dalam penggunaan Redis
Redis digunakan dalam pelbagai syarikat, dan pelbagai ciri cemerlang serta senario aplikasi yang kaya adalah sebab untuk kewujudannya. Kemudian masalah dan risiko akan datang. Walaupun Redis mempunyai senario aplikasi yang kaya, sesetengah syarikat masih menggunakan penggunaan satu nod secara relatifnya secara konservatif apabila mengamalkan aplikasi Redis, yang membawa risiko keselamatan kepada penyelenggaraan masa hadapan.
Pada tahun 2015, saya telah menangani masalah gangguan perniagaan yang disebabkan oleh satu titik kegagalan. Apabila Redis mula-mula digunakan, ia menggunakan penempatan nod tunggal dan bukannya penempatan yang diedarkan, dan tidak mempertimbangkan isu pemulihan bencana.
Pada masa itu, kami menggunakan pelayan Redis untuk mengawal gelagat pengguna yang membeli barangan diskaun Namun, atas sebab yang tidak diketahui, pelayan nod Redis terputus, menyebabkan kami tidak dapat mengawal pengguna. gelagat pembelian, menyebabkan pengguna tidak dapat mengawal gelagat pembelian untuk satu tempoh masa Gelagat membeli produk diskaun beberapa kali dalam satu tempoh.
Kemalangan downtime seperti ini boleh dikatakan telah menyebabkan kerugian yang tidak boleh diperbaiki kepada syarikat Masalah risiko keselamatan adalah sangat serius sebagai orang yang mengendalikan dan menyelenggara sistem pada masa itu, adalah perlu bagi saya membaiki masalah ini dan menambah baik seni bina pada. Oleh itu, saya mula menyelidik dan belajar tentang cara untuk menyelesaikan satu titik kegagalan Redis dalam aplikasi tidak teragih.
3. Sandaran dan pemulihan bencana aplikasi Redis dalam senario tidak diedarkan
Replikasi tuan-hamba Redis sepatutnya menjadi perkara biasa sekarang. Seni bina replikasi tuan-hamba yang biasa digunakan termasuk dua penyelesaian seni bina berikut.
Replikasi tuan-hamba Redis yang biasa digunakan
Pilihan 1
Secara amnya, Struktur ini adalah yang paling biasa, dengan satu nod induk dan dua nod hamba. Apabila pelanggan menulis data, ia menulis kepada nod Induk, dan apabila membaca, ia membaca daripada dua Hamba Ini mencapai pengembangan baca dan mengurangkan beban baca pada nod Induk.
Pilihan 2
Seni bina ini juga mempunyai seorang Tuan dan dua Hamba. Master dan Slave1 menggunakan keepalived untuk melaksanakan migrasi VIP dengan cara yang berbeza. Apabila Pelanggan menyambung kepada Master, ia menyambung melalui VIP. Ini mengelakkan situasi perubahan IP dalam Penyelesaian 1.
Kebaikan dan keburukan replikasi tuan-hamba Redis
Kelebihan
Ia merealisasikan sandaran data induk, setelah menjadi induk gagal , nod hamba boleh dinaikkan pangkat kepada tuan baharu, menggantikan tuan lama dan terus menyediakan perkhidmatan
untuk mencapai pengembangan baca. Seni bina replikasi tuan-hamba biasanya digunakan untuk mencapai pengembangan baca. Master terutamanya melaksanakan fungsi penulisan, dan Slave melaksanakan fungsi membaca
Tidak Mencukupi
Penyelesaian Seni Bina 1
Apabila Master gagal , Klien diputuskan sambungan daripada Master dan tidak boleh melaksanakan fungsi tulis Pada masa yang sama, Slave tidak boleh menyalin daripada Master.
Pada masa ini, anda perlu melalui operasi berikut (dengan andaian untuk mempromosikan Slave1 kepada Master):
Laksanakan perintah slaveof no one pada Slave1 untuk menaik taraf Slave1 ialah nod Master baharu.
dikonfigurasikan sebagai boleh ditulis pada Slave1 Ini kerana dalam kebanyakan kes, hamba dikonfigurasikan sebagai baca sahaja.
Beritahu klien (iaitu program yang menyambung ke Redis) alamat sambungan nod Master baharu.
Konfigurasikan Slave2 untuk menyalin data daripada Master baharu.
Penyelesaian Senibina 2
Apabila induk gagal, Klien boleh menyambung ke Slave1 untuk operasi data, tetapi Slave1 menjadi satu titik, di sana adalah satu titik kegagalan (single point of failure) yang selalunya perlu dielakkan.
Selepas itu, anda perlu melalui operasi berikut:
Laksanakan perintah slaveof no one pada Slave1 untuk mempromosikan Slave1 sebagai nod Induk baharu
Konfigurasikan Slave1 supaya boleh ditulis, kerana dalam kebanyakan kes, konfigurasi Slave adalah baca sahaja
Konfigurasikan Slave2 daripada replikasi Data Induk baharu
Perlu diambil perhatian bahawa semua penyelesaian seni bina memerlukan campur tangan manual untuk failover. Keperluan untuk campur tangan manual meningkatkan beban kerja operasi dan penyelenggaraan, dan juga mempunyai kesan yang besar kepada perniagaan. Pada masa ini, anda boleh menggunakan penyelesaian ketersediaan tinggi Redis - Sentinel
4. Pengenalan kepada Redis Sentinel
Redis Sentinel menyediakan penyelesaian ketersediaan tinggi untuk Redis. Dari perspektif praktikal, menggunakan Redis Sentinel boleh mewujudkan persekitaran Redis yang menghalang kegagalan tertentu tanpa campur tangan manusia.
Redis Sentinel menggunakan seni bina teragih dan menjalankan pelbagai proses untuk kerjasama kolaboratif. Menjalankan berbilang proses Sentinel untuk bekerjasama, apabila berbilang Sentinel tidak lagi dapat meneruskan perkhidmatan untuk induk tertentu, pengesanan kesalahan akan dilakukan, yang akan mengurangkan kemungkinan positif palsu.
5. Fungsi Redis Sentinel
Fungsi utama Redis Sentinel dalam penyelesaian ketersediaan tinggi Redis termasuk fungsi berikut:
Pemantauan
Sentinel akan sentiasa menyemak sama ada tuan dan hamba berjalan seperti biasa seperti yang dijangkakan
Pemberitahuan
Melalui API, Sentinel boleh memberitahu pentadbir dan program sistem Instance Redis yang dipantau gagal
Failover automatik
Jika tuan tidak berjalan seperti yang diharapkan, Sentinel boleh memulakan proses failover, dan salah seorang hamba akan Sebagai tuan , hamba lain akan dikonfigurasikan semula untuk menggunakan induk baharu Aplikasi menggunakan perkhidmatan Redis juga akan dimaklumkan untuk menggunakan alamat baharu semasa menyambung.
Pembekal konfigurasi
Sentinel boleh digunakan sebagai sumber pengesahan untuk penemuan perkhidmatan pelanggan: pelanggan menyambung ke Sentinel untuk mendapatkan alamat induk Redis yang bertanggungjawab untuk perkhidmatan tertentu. . Jika kegagalan berlaku, Sentinel akan melaporkan alamat baharu.
6. Seni Bina Redis Sentinel
7 Kelompok Sentinel memantau dirinya sendiri dan replikasi tuan-hamba Redis. Apabila didapati bahawa nod Induk gagal, langkah-langkah berikut akan diambil:
1) Pilihan raya diadakan antara Sentinel untuk memilih pemimpin, dan pemimpin yang dipilih akan melakukan failover- Ketua Sentinel memilih satu daripada nod Hamba sebagai nod induk baharu. Berikut adalah penulisan semula ayat itu: Untuk melaksanakan pemilihan hamba, kaedah pilihan raya berikut perlu dilaksanakan: a) Masa untuk memutuskan sambungan daripada tuan
- Jika masa untuk memutuskan sambungan daripada tuan melebihi detik ke bawah (selepas milisaat). konfigurasi sentinel ) * 10 saat ditambah dengan masa sentinel menentukan bahawa tuan tidak tersedia apabila sentinel mula melakukan failover, hamba dianggap tidak sesuai untuk dinaikkan pangkat kepada tuan.
5) Ketua Sentinel akan membiarkan tuan yang asal diturunkan kepada hamba Apabila operasi biasa disambung semula, ketua Sentinel akan menghantar arahan untuk menyalin daripada tuan baharu
Operasi failover di atas adalah. semuanya disiapkan oleh Sentinel sendiri, tanpa campur tangan manual sama sekali.
Atas ialah kandungan terperinci Contoh analisis sandaran Redis, pemulihan bencana dan amalan ketersediaan tinggi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

1. Mulakan menu [Start], masukkan [cmd], klik kanan [Command Prompt], dan pilih Run as [Administrator]. 2. Masukkan arahan berikut mengikut turutan (salin dan tampal dengan teliti): SCconfigwuauservstart=auto, tekan Enter SCconfigbitsstart=auto, tekan Enter SCconfigcryptsvcstart=auto, tekan Enter SCconfigtrustedinstallerstart=auto, tekan Enter SCconfigwuauservtype=share, tekan Enter netstopwuauserv , tekan enter netstopcryptS

Kesesakan fungsi PHP membawa kepada prestasi rendah, yang boleh diselesaikan melalui langkah berikut: cari fungsi kesesakan dan gunakan alat analisis prestasi. Keputusan cache untuk mengurangkan pengiraan semula. Memproses tugas secara selari untuk meningkatkan kecekapan pelaksanaan. Optimumkan penggabungan rentetan, sebaliknya gunakan fungsi terbina dalam. Gunakan fungsi terbina dalam dan bukannya fungsi tersuai.

Strategi caching dalam GolangAPI boleh meningkatkan prestasi dan mengurangkan beban pelayan Strategi yang biasa digunakan ialah: LRU, LFU, FIFO dan TTL. Teknik pengoptimuman termasuk memilih storan cache yang sesuai, caching hierarki, pengurusan ketidaksahihan dan pemantauan dan penalaan. Dalam kes praktikal, cache LRU digunakan untuk mengoptimumkan API untuk mendapatkan maklumat pengguna daripada pangkalan data Data boleh diambil dengan cepat daripada cache Jika tidak, cache boleh dikemas kini selepas mendapatkannya daripada pangkalan data.

Terdapat perbezaan prestasi antara Erlang dan Go. Erlang cemerlang dalam concurrency, manakala Go mempunyai daya pemprosesan yang lebih tinggi dan prestasi rangkaian yang lebih pantas. Erlang sesuai untuk sistem yang memerlukan konkurensi tinggi, manakala Go sesuai untuk sistem yang memerlukan daya pemprosesan tinggi dan kependaman rendah.

Dalam pembangunan PHP, mekanisme caching meningkatkan prestasi dengan menyimpan sementara data yang kerap diakses dalam memori atau cakera, dengan itu mengurangkan bilangan akses pangkalan data. Jenis cache terutamanya termasuk memori, fail dan cache pangkalan data. Caching boleh dilaksanakan dalam PHP menggunakan fungsi terbina dalam atau perpustakaan pihak ketiga, seperti cache_get() dan Memcache. Aplikasi praktikal biasa termasuk caching hasil pertanyaan pangkalan data untuk mengoptimumkan prestasi pertanyaan dan caching halaman output untuk mempercepatkan pemaparan. Mekanisme caching berkesan meningkatkan kelajuan tindak balas laman web, meningkatkan pengalaman pengguna dan mengurangkan beban pelayan.

Menggunakan cache Redis boleh mengoptimumkan prestasi halaman tatasusunan PHP. Ini boleh dicapai melalui langkah berikut: Pasang klien Redis. Sambung ke pelayan Redis. Cipta data cache dan simpan setiap halaman data ke dalam cincangan Redis dengan kunci "halaman:{page_number}". Dapatkan data daripada cache dan elakkan operasi mahal pada tatasusunan besar.

Mula-mula anda perlu menetapkan bahasa sistem kepada paparan Bahasa Cina Mudah dan mulakan semula. Sudah tentu, jika anda telah menukar bahasa paparan kepada Bahasa Cina Ringkas sebelum ini, anda boleh melangkau langkah ini sahaja. Seterusnya, mula mengendalikan pendaftaran, regedit.exe, navigasi terus ke HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsLanguage dalam bar navigasi kiri atau bar alamat atas, dan kemudian ubah suai nilai kunci InstallLanguage dan nilai kunci Lalai kepada 0804 (jika anda ingin menukarnya ke Bahasa Inggeris en- kami, anda perlu Mula-mula tetapkan bahasa paparan sistem kepada en-us, mulakan semula sistem dan kemudian tukar semuanya kepada 0409) Anda mesti memulakan semula sistem pada ketika ini.

Ya, Navicat boleh menyambung ke Redis, yang membolehkan pengguna mengurus kunci, melihat nilai, melaksanakan arahan, memantau aktiviti dan mendiagnosis masalah. Untuk menyambung ke Redis, pilih jenis sambungan "Redis" dalam Navicat dan masukkan butiran pelayan.
