Jadual Kandungan
1. Baris Gilir Mesej
Rumah hujung hadapan web tutorial js Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

Jun 02, 2022 am 10:05 AM
nodejs​ node.js node

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!

Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

1. Baris Gilir Mesej

Apakah itu Baris Gilir Mesej

Baris gilir mesej ialah bekas yang menyimpan mesej semasa proses penghantaran mesej Pada asasnya baris gilir (masuk dahulu, keluar dahulu)

Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

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 anda tidak perlu risau tentang siapa yang akan menerima mesej. 接收者 mesej hanya menumpukan pada menerima mesej dan memprosesnya. 生产者接收者

Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

Apa yang boleh dilakukan oleh baris gilir mesej

  • Penyahgandingan

    Seperti yang diperkenalkan di atas, baris gilir mesej memisahkan pengeluar mesej dan penerima mesej, dan kedua-duanya tidak dipengaruhi oleh yang 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 .

  • Cukur Puncak

    Apabila aplikasi baris gilir mesej disiarkan, ia boleh menyimpan kemasukan maklumat permintaan serta-merta ke dalam baris gilir mesej dan mengembalikannya dengan segera. Permintaan itu kemudiannya diproses oleh penerima mesej berdasarkan data.

  • Senario Aplikasi

    Aplikasi seperti aktiviti permainan, aktiviti jualan kilat, pesanan, dll. yang akan menyebabkan lonjakan trafik serta-merta.

2 Konsep baris gilir mesej

Selepas memperkenalkan maklumat asas baris gilir mesej, mari kita perkenalkan beberapa baris gilir mesej sebelum membangunkan baris gilir mesej. baris gilir mesej.

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 )

Baris Gilir Mesej

Apabila menghantar mesej

,

mestiApakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod? 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
Untuk memasang rabbitMQ, anda boleh memuat turun dan memasangnya melalui laman web rasmi

Portal

MAC boleh dipasang terus dengan arahan brew

Mulakan rabbitmq. perkhidmatan selepas pemasangan selesai

pemasangan projek nod amqplib

Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

amqplib berada dalam nod Menggunakan satu set alatan untuk baris gilir mesej membolehkan kami menggunakan baris gilir mesej dengan pantasguest

地址: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();
})();
Salin selepas log masuk

运行后在后台可以看到新增了一个有100条消息的队列

Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

创建消费者

/** customer.js 消费者 */

const amqplib = require(&#39;amqplib&#39;);
const config = require(&#39;./config&#39;);

const { connectUrl } = config;

(async () => {
  let connection = await amqplib.connect(connectUrl);
  const exchangeName = &#39;testExchange&#39;;
  const key = &#39;testQueue&#39;;
  // 创建两个通道
  const channel1 = await connection.createChannel();
  const channel2 = await connection.createChannel();
  // 指定一个交换机
  await channel1.assertExchange(exchangeName, &#39;fanout&#39;, {
    durable: true,
  });
  // 指定一个队列
  await channel1.assertQueue(key);
  await channel1.bindQueue(key, exchangeName, key);
  channel1.consume(key, (msg) => {
    console.log(&#39;channel 1&#39;, msg.content.toString());
  });

  await channel2.assertExchange(exchangeName, &#39;fanout&#39;, {
    durable: true,
  });
  await channel2.assertQueue(key);
  await channel2.bindQueue(key, exchangeName, key);
  channel2.consume(key, (msg) => {
    console.log(&#39;channel 2&#39;, msg.content.toString());
  });
})();
Salin selepas log masuk

执行后可以看到,两个通道可以同时工作接收消息

Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?

更多node相关知识,请访问:nodejs 教程

Atas ialah kandungan terperinci Apakah baris gilir mesej? Bagaimana untuk menggunakan baris gilir mesej dalam nod?. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Artikel tentang kawalan memori dalam Node Artikel tentang kawalan memori dalam Node Apr 26, 2023 pm 05:37 PM

Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Mar 29, 2023 pm 06:02 PM

Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Mar 28, 2023 pm 07:28 PM

Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Mari bercakap secara mendalam tentang modul Fail dalam Node Mari bercakap secara mendalam tentang modul Fail dalam Node Apr 24, 2023 pm 05:49 PM

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Analisis mendalam tentang alat pengurusan proses Node 'pm2' Analisis mendalam tentang alat pengurusan proses Node 'pm2' Apr 03, 2023 pm 06:02 PM

Artikel ini akan berkongsi dengan anda alat pengurusan proses Node "pm2", dan bercakap tentang mengapa pm2 diperlukan, cara memasang dan menggunakan pm2, saya harap ia akan membantu semua orang!

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

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

Mari kita bincangkan tentang gelung acara dalam Node Mari kita bincangkan tentang gelung acara dalam Node Apr 11, 2023 pm 07:08 PM

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.

Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Feb 08, 2023 am 10:09 AM

Sebab mengapa nod tidak boleh menggunakan arahan npm adalah kerana pembolehubah persekitaran tidak dikonfigurasikan dengan betul Penyelesaiannya ialah: 1. Buka "Sistem Sifat"; 2. Cari "Pembolehubah Persekitaran" -> "Pembolehubah Sistem", dan kemudian edit persekitaran. pembolehubah; 3. Cari lokasi folder nodejs;

See all articles