RabbitMQ的Work能者多勞模式

2021-08-23 14:36:26 字數 1387 閱讀 9236

work能者多勞模式

乙個訊息生成者

乙個佇列,多個訊息消費者

乙個訊息,只能被乙個消費接收

關鍵**

// 同一時刻伺服器只會發一條訊息給消費者

channel.basicqos(1);

生產者

package cn.itcast.rabbitmq.work;

import cn.itcast.rabbitmq.util.connectionutil;

import com.rabbitmq.client.channel;

import com.rabbitmq.client.connection;

public

class

send

channel.close();

connection.close();}}

消費者1

package cn.itcast.rabbitmq.work;

import cn.itcast.rabbitmq.util.connectionutil;

import com.rabbitmq.client.channel;

import com.rabbitmq.client.connection;

import com.rabbitmq.client.queueingconsumer;

public

class

recv }}

消費者2

package cn.itcast.rabbitmq.work;

import cn.itcast.rabbitmq.util.connectionutil;

import com.rabbitmq.client.channel;

import com.rabbitmq.client.connection;

import com.rabbitmq.client.queueingconsumer;

public

class

recv2 }}

消費者1

接收訊息,休眠10毫秒

消費者2

接收訊息,休眠1000毫秒

一共傳送50條訊息

消費者1

獲取的多

消費者2

獲取的少

RabbitMQ的使用(二)work模式

昨天通宵上線 白天睡了一天,下午7.00才醒,做個飯繼續學習。接著上文最普通的佇列乙個生產者推送,乙個消費者消費,如果乙個生產者有多個消費者那會是什麼樣呢。今天我用乙個for迴圈生產50個訊息來讓消費者消費 package com.hc.work import com.hc.mqutil.mquti...

RabbitMQ之工作(Work)模式(PHP版)

生產者 p 負責生產訊息,將訊息傳送到佇列 queue 中,多個消費者 c 監聽佇列,佇列有訊息就進行消費 工作模式就是乙個生產者對應多個消費者。rabbitmq使用的是amqp協議。要使用她你就必須需要乙個使用同樣協議的庫。這裡使用php amqplib,並且使用composer依賴管理。專案中新...

MFC的work執行緒

首先可以 在 vc中 新建乙個class 是以 cwinthread為 基類 class cproducerthread public cwinthread afx virtual implementation public void m parent protected generated mes...