


Artikel yang menganalisis secara ringkas cara menggunakan baris gilir mesej dalam nod
Apakah itu baris gilir mesej? Artikel berikut akan membawa anda melalui konsep asas baris gilir mesej dan memperkenalkan cara menggunakan baris gilir mesej dalam nod saya harap ia akan membantu anda!
1. Baris Gilir Mesej
Apakah itu Baris Gilir Mesej
Baris gilir mesej ialah bekas yang menyimpan mesej semasa proses penghantaran mesej Ia pada asasnya baris gilir (masuk dahulu, keluar dahulu)
merujuk kepada data yang perlu dihantar, yang boleh berupa teks, rentetan atau objek dan maklumat lain. 消息
ialah perkhidmatan komunikasi antara dua aplikasi 消息队列
mesej boleh kembali serta-merta selepas menyimpan data dalam baris gilir mesej mesej. Iaitu: 产生者
Pastikan data dimasukkan ke dalam baris gilir, dan tidak perlu risau tentang siapa yang akan menerima mesej ini. 接收者
mesej hanya menumpukan pada menerima mesej dan memprosesnya. [Cadangan tutorial berkaitan: 生产者
tutorial video nodejs接收者
, Pengajaran pengaturcaraan]
Apa yang boleh baris gilir mesej lakukan?
- Penyahgandingan
Seperti yang diperkenalkan di atas, baris gilir mesej memisahkan pengeluar mesej dan penerima mesej, tanpa menjejaskan setiap lain.
- Asynchronous
Asynchronous adalah untuk mengurangkan masa tindak balas permintaan Pengeluar mesej hanya perlu memproses logik mudah dan meletakkan data dalam baris gilir mesej untuk kembali , logik kompleks, seperti: operasi pangkalan data, operasi IO dikendalikan oleh penerima mesej .
- Pencukuran Puncak
Apabila aplikasi baris gilir mesej disiarkan, ia boleh menyimpan kemasukan maklumat permintaan serta-merta ke dalam baris gilir mesej dan mengembalikannya serta-merta. Permintaan itu kemudiannya diproses oleh penerima mesej berdasarkan data.
- Senario Aplikasi
Aplikasi seperti aktiviti permainan, aktiviti jualan kilat, pesanan, dsb. yang akan menyebabkan peningkatan trafik secara mendadak.
Selepas memperkenalkan maklumat asas baris gilir mesej, mari kita perkenalkan beberapa baris gilir mesej sebelum membangunkan baris gilir mesej. baris gilir pesanan.
pautan, saluran dan baris gilir
pautan (sambungan): mewakili program perkhidmatan dan Pautan antara baris gilir mesej . 生产者
Program perkhidmatan boleh mencipta berbilang pautan消费者
.
Saluran: Saluran antara pautan baris gilir mesej Pautan boleh mempunyai berbilang saluran .
Baris gilir: Barisan gilir yang menyimpan data dalam baris gilir mesej Perkhidmatan baris gilir mesej boleh mempunyai berbilang baris gilir.
Ringkasnya, hubungan antara pautan dan baris gilir saluran adalah seperti ini - tukar (pertukaran )
Apabila menghantar mesej
,mesti mempunyai suis Jika tidak dinyatakan, suis lalai digunakan. Peranan suis adalah untuk menolak mesej ke baris gilir yang sepadan. Terdapat sejumlah 4 jenis suis dalam baris gilir mesej
Terus: Tentukan mod baris gilir Apabila mesej datang, ia hanya akan dihantar ke Baris Gilir yang ditentukan tidak akan menerimanya.
fanout: Mod siaran, apabila mesej datang, ia akan dihantar ke semua baris gilir. topik: mod padanan kabur, pemajuan sepadan melalui padanan kabur.
pengepala: Serupa dengan mod Terus.
- 3.nod menggunakan rabbitMQ
- Pasang rabbitMQ
Portal
MAC boleh dipasang terus dengan arahan brewMulakan rabbitmq. perkhidmatan selepas pemasangan selesai
- Kemudian lawati http://localhost:15672/ setempat untuk melihat latar belakang perkhidmatan rabbitmq. Kata laluan akaun awal ialah
brew install rabbitmq
Salin selepas log masuk
amqplib是node中使用消息队列的一套工具,可以让我们快速地使用消息队列
地址:https://www.npmjs.com/package/amqplib
创建生产者
/** product.js 消费者 */ const amqplib = require('amqplib'); const config = require('./config'); const { connectUrl } = config; (async () => { const connection = await amqplib.connect(connectUrl); const channel = await connection.createChannel(); const exchangeName = 'testExchange'; const key = 'testQueue'; const sendMsg = 'hello rabbitmq'; // 知道交换机类型 await channel.assertExchange(exchangeName, 'fanout', { durable: true, }); // 指定一个队列 await channel.assertQueue(key); for (let i = 0; i < 100; i++) { channel.publish(exchangeName, key, Buffer.from(`${sendMsg} ${i}`)); } await channel.close(); await connection.close(); })();
运行后在后台可以看到新增了一个有100条消息的队列
创建消费者
/** customer.js 消费者 */ const amqplib = require('amqplib'); const config = require('./config'); const { connectUrl } = config; (async () => { let connection = await amqplib.connect(connectUrl); const exchangeName = 'testExchange'; const key = 'testQueue'; // 创建两个通道 const channel1 = await connection.createChannel(); const channel2 = await connection.createChannel(); // 指定一个交换机 await channel1.assertExchange(exchangeName, 'fanout', { durable: true, }); // 指定一个队列 await channel1.assertQueue(key); await channel1.bindQueue(key, exchangeName, key); channel1.consume(key, (msg) => { console.log('channel 1', msg.content.toString()); }); await channel2.assertExchange(exchangeName, 'fanout', { durable: true, }); await channel2.assertQueue(key); await channel2.bindQueue(key, exchangeName, key); channel2.consume(key, (msg) => { console.log('channel 2', msg.content.toString()); }); })();
执行后可以看到,两个通道可以同时工作接收消息
更多node相关知识,请访问:nodejs 教程!
Atas ialah kandungan terperinci Artikel yang menganalisis secara ringkas cara menggunakan baris gilir mesej dalam nod. 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



Amalan pembangunan Java Websocket: Bagaimana untuk melaksanakan fungsi baris gilir mesej Pengenalan: Dengan perkembangan pesat Internet, komunikasi masa nyata menjadi semakin penting. Dalam kebanyakan aplikasi web, kemas kini masa nyata dan keupayaan pemberitahuan diperlukan melalui pemesejan masa nyata. JavaWebsocket ialah teknologi yang membolehkan komunikasi masa nyata dalam aplikasi web. Artikel ini akan memperkenalkan cara menggunakan JavaWebsocket untuk melaksanakan fungsi baris gilir mesej dan menyediakan contoh kod khusus. Konsep asas baris gilir mesej

Cara menggunakan baris gilir mesej untuk pemprosesan tugas tak segerak dalam FastAPI Pengenalan: Dalam aplikasi web, selalunya dihadapi bahawa tugas yang memakan masa perlu diproses, seperti menghantar e-mel, menjana laporan, dsb. Jika tugasan ini diletakkan dalam proses permintaan-tindak balas segerak, pengguna perlu menunggu untuk masa yang lama, mengurangkan pengalaman pengguna dan kelajuan tindak balas pelayan. Untuk menyelesaikan masalah ini, kami boleh menggunakan baris gilir mesej untuk pemprosesan tugas tak segerak. Artikel ini akan memperkenalkan cara menggunakan baris gilir mesej untuk memproses tugas tak segerak dalam rangka kerja FastAPI.

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Pengesahan adalah salah satu bahagian terpenting dalam mana-mana aplikasi web. Tutorial ini membincangkan sistem pengesahan berasaskan token dan cara ia berbeza daripada sistem log masuk tradisional. Pada penghujung tutorial ini, anda akan melihat demo berfungsi sepenuhnya yang ditulis dalam Angular dan Node.js. Sistem Pengesahan Tradisional Sebelum beralih kepada sistem pengesahan berasaskan token, mari kita lihat sistem pengesahan tradisional. Pengguna memberikan nama pengguna dan kata laluan mereka dalam borang log masuk dan klik Log Masuk. Selepas membuat permintaan, sahkan pengguna di bahagian belakang dengan menanyakan pangkalan data. Jika permintaan itu sah, sesi dibuat menggunakan maklumat pengguna yang diperoleh daripada pangkalan data dan maklumat sesi dikembalikan dalam pengepala respons supaya ID sesi disimpan dalam penyemak imbas. Menyediakan akses kepada aplikasi tertakluk kepada

Pembangunan Golang: Menggunakan NATS untuk membina baris gilir mesej yang boleh dipercayai, contoh kod khusus diperlukan Pengenalan: Dalam sistem teragih moden, baris gilir mesej merupakan komponen penting yang digunakan untuk mengendalikan komunikasi tak segerak, memisahkan komponen sistem dan mencapai penghantaran mesej yang boleh dipercayai. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan Golang dan NATS (nama penuh ialah "Sistem Pemesejan Boleh Dipercayai Berprestasi Tinggi") untuk membina baris gilir mesej yang cekap dan boleh dipercayai serta menyediakan contoh kod khusus. Apa itu NATS? NATS ialah sistem pemesejan sumber terbuka yang ringan.

Penggunaan Redis yang hebat dalam baris gilir mesej Baris gilir mesej ialah seni bina decoupled yang biasa digunakan untuk menyampaikan mesej tak segerak antara aplikasi. Dengan menghantar mesej ke baris gilir, pengirim boleh terus melaksanakan tugas lain tanpa menunggu balasan daripada penerima. Dan penerima boleh mendapatkan mesej daripada baris gilir dan memprosesnya pada masa yang sesuai. Redis ialah pangkalan data dalam memori sumber terbuka yang biasa digunakan dengan prestasi tinggi dan keupayaan storan berterusan. Dalam baris gilir mesej, struktur data berbilang Redis dan prestasi cemerlang menjadikannya pilihan yang ideal

Cara menggunakan operasi skrip Linux untuk melaksanakan baris gilir mesej dalam Java memerlukan contoh kod tertentu Baris gilir mesej ialah mekanisme komunikasi biasa yang digunakan untuk memindahkan data antara proses yang berbeza. Di Java, kami boleh melaksanakan baris gilir mesej menggunakan operasi skrip Linux supaya kami boleh menghantar mesej dengan mudah atau menerima mesej daripada baris gilir. Dalam artikel ini, kami akan memperincikan cara melaksanakan baris gilir mesej menggunakan skrip Java dan Linux, dan memberikan contoh kod khusus. Untuk bermula dengan Java dan Lin

Cara mengendalikan transaksi yang diedarkan dan baris gilir mesej dalam pembangunan C# Pengenalan: Dalam sistem edaran hari ini, urus niaga dan baris gilir mesej merupakan komponen yang sangat penting. Transaksi teragih dan baris gilir mesej memainkan peranan penting dalam mengendalikan ketekalan data dan penyahgandingan sistem. Artikel ini akan memperkenalkan cara mengendalikan transaksi yang diedarkan dan baris gilir mesej dalam pembangunan C#, dan memberikan contoh kod khusus. 1. Transaksi teragih Urus niaga teragih merujuk kepada transaksi yang merangkumi pelbagai pangkalan data atau perkhidmatan. Dalam sistem teragih, cara memastikan konsistensi data telah menjadi cabaran utama. Berikut adalah dua jenis
