RabbitMQ 公平分發模式

2022-03-07 22:26:32 字數 2703 閱讀 7957

建立兩個消費者,分別是 consumeraa、consumerbb

package

com.example.demo;

import

org.springframework.amqp.rabbit.annotation.rabbithandler;

import

org.springframework.amqp.rabbit.annotation.rabbitlistener;

import

org.springframework.stereotype.component;

/***

@author

: devanyan

* @create: 2019-05-28 11:46 */

//訊息的消費者

@component

@rabbitlistener(queues = "hello")

public

class

consumeraa

catch

(interruptedexception e)

system.out.println("aa消費了一條訊息 : " +message);

}}

package

com.example.demo;

import

org.springframework.amqp.rabbit.annotation.rabbithandler;

import

org.springframework.amqp.rabbit.annotation.rabbitlistener;

import

org.springframework.stereotype.component;

/***

@author

: devanyan

* @create: 2019-05-28 11:46 */

//訊息的消費者

@component

@rabbitlistener(queues = "hello")

public

class

consumerbb

catch

(interruptedexception e)

system.out.println("bb消費了一條訊息 : " +message);

}}

修改訊息生產者 creater

package

com.example.demo;

import

org.springframework.amqp.core.amqptemplate;

import

org.springframework.beans.factory.annotation.autowired;

import

org.springframework.stereotype.component;

/***

@author

: devanyan

* @create: 2019-05-28 11:47 */

//訊息的生產者

@component

public

class

creater

} catch

(interruptedexception e) }}

}

執行測試類,進行測試

建立了一條訊息 : [ 1 ] hello rabbitmq !

建立了一條訊息 : [ 2 ] hello rabbitmq !

建立了一條訊息 : [ 3 ] hello rabbitmq !

建立了一條訊息 : [ 4 ] hello rabbitmq !

建立了一條訊息 : [ 5 ] hello rabbitmq !

建立了一條訊息 : [ 6 ] hello rabbitmq !

建立了一條訊息 : [ 7 ] hello rabbitmq !

建立了一條訊息 : [ 8 ] hello rabbitmq !

建立了一條訊息 : [ 9 ] hello rabbitmq !

建立了一條訊息 : [ 10 ] hello rabbitmq !

aa消費了一條訊息 : [ 1 ] hello rabbitmq !

bb消費了一條訊息 : [ 2 ] hello rabbitmq !

aa消費了一條訊息 : [ 3 ] hello rabbitmq !

aa消費了一條訊息 : [ 5 ] hello rabbitmq !

bb消費了一條訊息 : [ 4 ] hello rabbitmq !

aa消費了一條訊息 : [ 7 ] hello rabbitmq !

aa消費了一條訊息 : [ 9 ] hello rabbitmq !

bb消費了一條訊息 : [ 6 ] hello rabbitmq !

bb消費了一條訊息 : [ 8 ] hello rabbitmq !

bb消費了一條訊息 : [ 10 ] hello rabbitmq !

記得注意觀察   http://localhost:15672

擴充套件:檢視控制台輸出,當時訊息沒消費完畢時,關掉程式

然後再次啟動,這時再看輸出,看看會輸出什麼結果,

其中的原理自己體會……

RabbitMQ 四 工作佇列之公平分發

public class producer channel.close connection.close public class consumer1 監聽佇列,第2個引數設定為手動確認.true 則為自動確認.channel.basicconsume queuename,false,false,f...

max min公平分配原則

我們總會面臨這樣的問題,需要給一組使用者分配一些稀缺資源,站在資源分配者的角度,他們具有等價的權利獲取資源,但實際上,一些使用者可能獲取較少的資源就能夠滿足需要,這樣看來,他們對資源的獲取又不是完全等價的,似乎不適合去平分資源,因此就有了最大最小公平演算法。1 資源按照需求遞增的順序進行分配 2 不...

初等模型 公平分配問題

問題 三個系學生共200名 甲系100,乙系60,丙系40 代表會議共20席,按比例分配,三個系分別為10,6,4席。現因學生轉系,三系人數為103,63,34,問20席如何分配。分析 如果僅僅使用比例去確定的話會出現一些不可預知的嚴重錯誤 是錯誤不是誤差!每涉及公平問題,就得考慮相對公平。要解決相...