Jadual Kandungan
Mengapa Ia Diperlukan
Bagaimana kerja pub/sub sharded?
Bilakah anda harus menggunakannya?
Cara Menggunakan Pub/Sub Sharded
Pemikiran terakhir
Rumah pangkalan data Redis Apakah pub/sub di redis 7?

Apakah pub/sub di redis 7?

Jul 01, 2025 am 12:01 AM
pub/sub Redis 7

Pub/sub di Redis 7 meningkatkan pub/sub skalabiliti dengan mengedarkan trafik mesej di pelbagai benang. Tradisional Redis Pub/Sub adalah terhad oleh model tunggal yang boleh menjadi kesesakan di bawah beban tinggi. Dengan pub/sub sharded, saluran dibahagikan kepada shard yang diberikan kepada benang I/O tertentu; Setiap thread mengendalikan penghantaran mesej untuk shard yang diberikan, mengurangkan pertengkaran dan peningkatan prestasi. Mata utama termasuk: 1) pemetaan saluran ke-mata melalui hashing; 2) bilangan shard yang boleh dikonfigurasikan; 3) penggunaan ssubscribe untuk langganan sharded; 4) Sharding automatik semasa penerbitan. Ia sesuai untuk aplikasi dengan banyak saluran, seperti sistem sembang masa nyata atau platform IoT. Untuk menggunakannya, gantikan Langgan dengan SSUBScribe, sementara Publish tetap tidak berubah. Pelanggan mestilah secara eksplisit memilih untuk bersuara, dan kedua-dua mod boleh wujud bersama semasa penghijrahan.

Apakah pub/sub di redis 7?

Sharded Pub/Sub di Redis 7 adalah ciri baru yang menangani salah satu batasan sistem pub/sub sistem tradisional - skalabilitas. Jika anda menggunakan REDIS untuk pemesejan masa nyata dan mempunyai pelbagai saluran atau corak, terutamanya di bawah beban tinggi, anda mungkin telah memukul masalah prestasi sebelum ini. Pub/sub sharded membantu dengan menyebarkan trafik pub/sub di semua gelung acara yang ada (atau benang), bukannya mengarahkan segala -galanya melalui benang utama.

Mengapa Ia Diperlukan

Redis sentiasa menggunakan model tunggal untuk mengendalikan arahan, yang menjadikan perkara mudah tetapi boleh menjadi kesesakan ketika mengendalikan jumlah besar pub/sub mesej. Dalam versi terdahulu, walaupun Redis disusun dengan diaktifkan I/O, semua operasi pub/sub masih melalui benang utama. Ini bermakna menerbitkan atau menyampaikan mesej kepada banyak pelanggan boleh menghalang operasi lain.

Dengan Redis 7, perubahan ini.


Bagaimana kerja pub/sub sharded?

Idea teras di belakang pub/sub sharded adalah sharding - mengedarkan tanggungjawab penghantaran mesej merentasi pelbagai benang. Inilah cara ia berfungsi:

  • Redis membahagikan saluran ke dalam kumpulan logik yang dipanggil "Shards."
  • Setiap shard diberikan kepada benang I/O tertentu.
  • Apabila pelanggan melanggan saluran, langganan itu didaftarkan dengan shard (dan dengan itu benang) yang bertanggungjawab untuk saluran itu.
  • Mesej yang diterbitkan ke saluran diproses dan disampaikan oleh benang yang sama, mengelakkan overhead penyegerakan silang.

Dengan cara ini, Redis boleh skala prestasi pub/sub lebih berkesan kerana bilangan teras CPU meningkat.

Beberapa perkara utama:

  • Nama saluran dipetakan ke Shards menggunakan fungsi hashing.
  • Bilangan shard boleh dikonfigurasi melalui redis.conf ( pubsub_shard_streams_per_node ).
  • Pelanggan hanya menerima mesej dari saluran yang mereka telah dilanggar-langganan -ada perintah yang berasingan untuk itu: SSUBSCRIBE .

Bilakah anda harus menggunakannya?

Anda harus mempertimbangkan menggunakan pub/sub sharded ketika:

  • Aplikasi anda menggunakan sejumlah besar saluran.
  • Anda mengalami kesesakan prestasi kerana penggunaan pub/sub.
  • Anda mahu skala redis secara mendatar tanpa menambah lebih banyak contoh hanya untuk pengedaran mesej.

Ia amat berguna dalam aplikasi seperti:

  • Sistem sembang masa nyata dengan banyak bilik atau topik.
  • Perkhidmatan Pemberitahuan Kemas kini penyiaran kepada banyak pengguna.
  • Platform IoT di mana setiap peranti menerbitkan kemas kini status ke salurannya sendiri.

Jika kes penggunaan anda hanya melibatkan beberapa saluran dengan banyak pelanggan, pub/sub standard mungkin masih baik. Tetapi sebaik sahaja anda mula mengukur bilangan saluran atau memerlukan latensi yang lebih rendah setiap mesej, sharding menjadi lebih baik.


Cara Menggunakan Pub/Sub Sharded

Menggunakan pub / sub sharded adalah mudah, tetapi berbeza dari aliran SUBSCRIBE / PUBLISH klasik. Inilah yang perlu anda lakukan:

  • Untuk melanggan saluran dengan cara yang sharded, gunakan SSUBSCRIBE dan bukannya SUBSCRIBE .
  • Untuk menerbitkan ke saluran sharded, Gunakan PUBLISH - Sharding ditangani secara automatik berdasarkan nama saluran.
  • Untuk berhenti berlangganan, gunakan SUNSUBSCRIBE .

Contoh:

 # Langgan Saluran Sharded
client1> sSubscribe myChannel

# Menerbitkan mesej - dikendalikan oleh utas yang betul
pelanggan2> menerbitkan myChannel "Hello Sharded World"

Perlu diingat:

  • Pelanggan mestilah menggunakan SSUBSCRIBE untuk mengambil kesempatan daripada sharding.
  • SUBSCRIBE klasik dan SSUBSCRIBE tidak boleh dicampur dalam sambungan yang sama.
  • Alat atau pelanggan yang tidak dikemas kini untuk Redis 7 tidak akan menggunakan pub/sub sharded kecuali diubahsuai.

Juga, kerana Redis 7 menyokong kedua -dua mod, anda secara beransur -ansur boleh memindahkan bahagian aplikasi anda untuk menggunakan langganan sharded sambil mengekalkan orang lain pada model tradisional.


Pemikiran terakhir

Pub/sub di Redis 7 membawa peningkatan skalabiliti yang sangat diperlukan kepada keupayaan pemesejan masa nyata Redis. Dengan menyerahkan saluran ke benang yang berbeza, Redis boleh mengendalikan output yang lebih tinggi tanpa mengorbankan kesederhanaan atau kebolehpercayaan.

Jika anda bekerja dengan Redis pada skala, terutamanya dalam persekitaran pub/sub-berat, ia bernilai menaik taraf dan mencuba ciri ini.

Itu pada dasarnya - tidak terlalu rumit, tetapi pasti satu langkah besar ke hadapan untuk Redis sebagai platform pemesejan.

Atas ialah kandungan terperinci Apakah pub/sub di redis 7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah pub/sub di redis 7? Apakah pub/sub di redis 7? Jul 01, 2025 am 12:01 AM

Shardedpub/subinredis7improvespub/subscalabilitybydistributingmessagetrafficacrossmultersmulthreads.traditionalredispub/subwaslimitedbyasingle-threadelthatcouldbecomeabottleneckunderhighload.WithshardeShighload

Pangkalan Data Redis vs: Apakah hadnya? Pangkalan Data Redis vs: Apakah hadnya? Jul 02, 2025 am 12:03 AM

Redisislimitedbymemoryconstraintsanddatapersistence, whileTraditionaldatabasstruglyglyglyglyWithperformanceinreal-timescenarios.1)

Apakah perbezaan antara transaksi dan saluran paip? Apakah perbezaan antara transaksi dan saluran paip? Jul 08, 2025 am 12:20 AM

Urus niaga yang dilepaskan

Bagaimana untuk memilih pangkalan data yang berbeza di Redis? Bagaimana untuk memilih pangkalan data yang berbeza di Redis? Jul 05, 2025 am 12:16 AM

Toswitchdatabasesinredis, usetheselectcommandfollowedbythenumericindex.redissupportsmultiplelogicaldatabases (default16), andeachclientConnectionMaintainSitSownSownSectedDatabase.1.useselectindex (E.G., select

Bagaimana dengan selamat melangkah ke atas kunci dalam pengeluaran menggunakan arahan imbasan? Bagaimana dengan selamat melangkah ke atas kunci dalam pengeluaran menggunakan arahan imbasan? Jul 09, 2025 am 12:52 AM

Bagaimana untuk melintasi Rediskey dengan selamat dalam persekitaran pengeluaran? Gunakan arahan imbasan. Imbas adalah perintah berulang kursor Redis, yang melintasi kunci secara tambahan untuk mengelakkan menyekat benang utama. 1. Panggil gelung sehingga kursor adalah 0; 2. Tetapkan parameter kiraan yang munasabah, lalai 10, dan jumlah data besar dapat ditingkatkan dengan sewajarnya; 3. Penapis kekunci mod spesifik dalam kombinasi dengan perlawanan; 4. Perhatikan kemungkinan pulangan kunci yang mungkin, ketidakupayaan untuk memastikan konsistensi, overhead prestasi dan isu -isu lain; 5. boleh dijalankan semasa tempoh luar atau diproses secara tidak segerak. Sebagai contoh: scan0matchuser:*count100.

Bagaimana anda mengkonfigurasi Arahan Simpan untuk RDB Snapshots? Bagaimana anda mengkonfigurasi Arahan Simpan untuk RDB Snapshots? Jul 08, 2025 am 12:35 AM

Untuk mengkonfigurasi dasar penjimatan snapshot RDB untuk Redis, gunakan arahan simpan di redis.conf untuk menentukan keadaan pencetus. 1. Formatnya adalah simpan. Sebagai contoh, Save9001 bermaksud bahawa jika sekurang -kurangnya 1 kunci diubahsuai setiap 900 saat, ia akan disimpan; 2. Pilih nilai yang sesuai mengikut keperluan aplikasi. Aplikasi trafik tinggi boleh menetapkan selang yang lebih pendek seperti SAVE101, dan trafik rendah boleh dilanjutkan seperti SAVE3001; 3. Jika gambar automatik tidak diperlukan, RDB boleh dilumpuhkan melalui SAVE ""; 4. Selepas pengubahsuaian, mulakan semula redis dan memantau log dan beban sistem untuk memastikan konfigurasi berkuatkuasa dan tidak menjejaskan prestasi.

Bagaimana untuk mendapatkan contoh Redis? Bagaimana untuk mendapatkan contoh Redis? Jul 15, 2025 am 12:06 AM

Untuk memastikan keselamatan Redis, anda perlu mengkonfigurasi dari pelbagai aspek: 1. Mengatasi sumber akses, mengubah suai BIND ke IPS tertentu atau menggabungkan tetapan firewall; 2. Dayakan pengesahan kata laluan, tetapkan kata laluan yang kuat melalui keperluan dan uruskan dengan betul; 3. 4. Membolehkan komunikasi yang disulitkan TLS, sesuai untuk senario keperluan keselamatan tinggi; 5. Secara kerap mengemas kini versi dan memantau log untuk mengesan keabnormalan dan menetapkan kelemahan tepat pada masanya. Langkah -langkah ini bersama -sama membina garis keselamatan contoh Redis.

Bagaimanakah replikasi Master-Replica (Master-Slave) berfungsi di Redis? Bagaimanakah replikasi Master-Replica (Master-Slave) berfungsi di Redis? Jul 13, 2025 am 12:10 AM

Replikasi master-hamba Redis mencapai konsistensi data melalui penyegerakan penuh dan penyegerakan tambahan. Semasa sambungan pertama, nod hamba menghantar perintah psync, nod induk menghasilkan fail RDB dan menghantarnya, dan kemudian menghantar perintah tulis dalam cache untuk menyelesaikan permulaan; Seterusnya, penyegerakan tambahan dilakukan dengan menyalin penampan backlog untuk mengurangkan penggunaan sumber. Kegunaan umum termasuk pemisahan baca dan tulis, penyediaan failover dan analisis sandaran data. Nota termasuk: Memastikan kestabilan rangkaian, dengan munasabah mengkonfigurasi parameter tamat, membolehkan pilihan min-hamba-to-menulis mengikut keperluan, dan menggabungkan sentinel atau cluster untuk mencapai ketersediaan yang tinggi.

See all articles