rabbitmq基本使用

2022-03-10 17:43:30 字數 1158 閱讀 2251

生產者:

public

class

rabbitmqhelper ; //

, port = 5672 };

using (var connection =factory.createconnection ())

using (var channel =connection.createmodel ())

", t.tojsonstring ());}}

}

消費者:

class

program ;

using (var connection =factory.createconnection ())

using (var channel =connection.createmodel ()) ");

thread.sleep (random.next (

100));

var body =e.body;

var message =encoding.utf8.getstring (body);

lock

(lockobj) ");

}console.writeline ($

" handling finished!");

//訊息處理完後, 傳送ack給channel, 以便channel給它發下乙個訊息來處理

channel.basicack (deliverytag: e.deliverytag, multiple:

false

); }

catch

(exception ex)

};channel.basicconsume (queue:

"hello",

autoack :

false

,//不自動ack, 如果自動ack的話, rabbitmq會往死裡把訊息往外推, 不管消費者是否處理得了, 訊息剛剛到mq裡, 馬上就發往消費者了, 豈不是事實上的沒有起到mq的作用了

consumer : consumer);

console.writeline (

"press [enter] to exit.");

console.readline ();}}

}

rabbitmq的基本使用

現在微服務盛行,我們通常會進行解耦,這時候就需要非同步的訊息佇列來幫助各個服務之間解耦 rabbitmq的基本概念有訊息producer 訊息生產者 exchange 交換機 queue 佇列 consumer 消費者 routingkey 圖中的p是producer,即訊息生產者,中簡的serve...

rabbitmq的基本使用

現在微服務盛行,我們通常會進行解耦,這時候就需要非同步的訊息佇列來幫助各個服務之間解耦 rabbitmq的基本概念有訊息producer 訊息生產者 exchange 交換機 queue 佇列 consumer 消費者 routingkey 圖中的p是producer,即訊息生產者,中簡的serve...

rabbitmq 基本操作

1,basic.consum 訂閱訊息 2,basic.get 獲取單條訊息 3,basic.ack 消費者確認收到訊息 可以通過設定auto ack 引數為true 來自動確認 4,basic.reject 拒絕接受 訊息 有個requeue 引數 設定為ture的話,重新放入佇列,設定為fals...