重啟rabbitmq服務通過兩個命令來實現:
rabbitmqctl stop
:停止rabbitmq
rabbitmq-server restart
: 重啟rabbitmq
檢視rabbitmq佇列資訊:rabbitmqctl list_queues
持久化佇列資訊:durable,persistent=true
sender:
channel.queuedeclare(queue: "task_queue",
durable: true,
exclusive: false,
autodelete: false,
arguments: null);
//4. 申明佇列(指定durable:true,告知rabbitmq對訊息進行持久化)
var message = getmessage(args);
var body = encoding.utf8.getbytes(message);
var properties = channel.createbasicproperties();
properties.persistent = true;
channel.basicpublish(exchange: "",
routingkey: "task_queue",
basicproperties: properties,
body: body);
持久化訊息的確認設定:
receiver:
autoack: false;設定為false,則需要手動回執確認: channel.basicack(deliverytag: ea.deliverytag, multiple: false);
autoack:true;設定為true,則rabbitmq自動執行回執確認,而不管consumer是否正確處理訊息
consumer.received += (model, ea) =>
", message);
channel.basicack(deliverytag: ea.deliverytag, multiple: false);
};channel.basicconsume(queue: "task_queue",
autoack: false,
consumer: consumer);
rabbitmq 訊息持久化
專案案例 channel.exchangedeclare my exchange,builtinexchangetype.topic,true durable 引數設定為 truechannel.queuedeclare my queue,true,false,false maps.newhashm...
RabbitMQ訊息持久化
三 訊息持久化 四 總結 回到頂部 一 前言 如果我們希望即使在rabbitmq服務重啟的情況下,也不會丟失訊息,我們可以將queue與message都設定為可持久化的 durable 這樣可以保證絕大部分情況下我們的rabbitmq訊息不會丟失。當然還是會有一些小概率事件會導致訊息丟失。回到頂部 ...
RabbitMQ訊息持久化
如果我們希望即使在rabbitmq服務重啟的情況下,也不會丟失訊息,我們可以將queue與message都設定為可持久化的 durable 這樣可以保證絕大部分情況下我們的rabbitmq訊息不會丟失。當然還是會有一些小概率事件會導致訊息丟失。在windows環境下,在rabbitmq的安裝目錄 s...