国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RabbitMQ工作模式-工作隊(duì)列

這篇具有很好參考價(jià)值的文章主要介紹了RabbitMQ工作模式-工作隊(duì)列。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

官網(wǎng)關(guān)于工作模式的解釋地址:https://www.rabbitmq.com/getstarted.html

Work Queue(工作隊(duì)列)

生產(chǎn)者發(fā)消息,啟動(dòng)多個(gè)消費(fèi)者來消費(fèi)消息,每個(gè)消費(fèi)者僅消費(fèi)部分消息,可達(dá)到負(fù)載均衡的效果。

RabbitMQ工作模式-工作隊(duì)列,rabbitmq,學(xué)習(xí)筆記,rabbitmq,java-rabbitmq

創(chuàng)建生產(chǎn)者

import com.rabbitmq.client.BuiltinExchangeType;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import java.nio.charset.StandardCharsets;

public class Product {


    public static void main(String[] args) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();

        factory.setUri("amqp://root:123456@node1:5672/%2f");

        //創(chuàng)建連接和隊(duì)列
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();


        //聲明隊(duì)列,持久化,不自動(dòng)刪除
        channel.queueDeclare("qu.wk", true, false, false, null);

        //聲明交換機(jī),消息持久化,不自動(dòng)刪除
        channel.exchangeDeclare("ex.wk", BuiltinExchangeType.DIRECT, true, false, null);

        //隊(duì)列和交換機(jī)綁定
        channel.queueBind("qu.wk", "ex.wk", "rk.wq");

        for (int i = 0; i < 20; i++) {
            //發(fā)送消息
            channel.basicPublish("ex.wk",
                    "rk.wq", null, ("data msg " + i).getBytes(StandardCharsets.UTF_8));
        }


        channel.close();
        connection.close();
    }

}

創(chuàng)建消費(fèi)者

import com.rabbitmq.client.BuiltinExchangeType;
import com.rabbitmq.client.CancelCallback;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.DeliverCallback;
import com.rabbitmq.client.Delivery;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class Consumer {

    public static void main(String[] args) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();

        factory.setUri("amqp://root:123456@node1:5672/%2f");

        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();

        //聲明隊(duì)列,持久化,不自動(dòng)刪除
        channel.queueDeclare("qu.wk", true, false, false, null);

        channel.basicConsume("qu.wk", new DeliverCallback() {
            @Override
            public void handle(String consumerTag, Delivery message) throws IOException {
                System.out.println("收到的消息:" + new String(message.getBody(), StandardCharsets.UTF_8));
            }
        }, new CancelCallback() {
            @Override
            public void handle(String consumerTag) throws IOException {
                System.out.println("cancel的消息:" + consumerTag);
            }
        });
    }
}

首先運(yùn)行消息費(fèi),為了測試工作隊(duì)列模式,消費(fèi)都需要啟動(dòng)多個(gè),看是否能夠進(jìn)行負(fù)載均衡操作。

在IDEA中啟動(dòng)多個(gè)消費(fèi)者,注意需要溝選啟動(dòng)運(yùn)行參數(shù):

RabbitMQ工作模式-工作隊(duì)列,rabbitmq,學(xué)習(xí)筆記,rabbitmq,java-rabbitmq

此樣例中啟動(dòng)是4個(gè)。

RabbitMQ工作模式-工作隊(duì)列,rabbitmq,學(xué)習(xí)筆記,rabbitmq,java-rabbitmq

啟動(dòng)生產(chǎn)者,再觀察消費(fèi)者的輸出信息:

再次觀察消費(fèi)者的輸出便可發(fā)現(xiàn):

RabbitMQ工作模式-工作隊(duì)列,rabbitmq,學(xué)習(xí)筆記,rabbitmq,java-rabbitmq

RabbitMQ工作模式-工作隊(duì)列,rabbitmq,學(xué)習(xí)筆記,rabbitmq,java-rabbitmq
RabbitMQ工作模式-工作隊(duì)列,rabbitmq,學(xué)習(xí)筆記,rabbitmq,java-rabbitmq
RabbitMQ工作模式-工作隊(duì)列,rabbitmq,學(xué)習(xí)筆記,rabbitmq,java-rabbitmq

可以發(fā)現(xiàn)每個(gè)工作隊(duì)列都收到了5條消息。

此便可看出工作隊(duì)列的一個(gè)重要特性,負(fù)載均衡。文章來源地址http://www.zghlxwxcb.cn/news/detail-691439.html

到了這里,關(guān)于RabbitMQ工作模式-工作隊(duì)列的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包