RabbitMq 如何使用Fanout方式進行廣播

2021-08-22 04:50:45 字數 923 閱讀 2406

在專案中使用rabbitmq 傳送訊息和接收訊息,如果專案在一台機器上部署則使用direct方式即可,但是如果把專案部署到n臺機器上,傳送一條訊息,則n臺機器都能同時接收訊息,則需要使用fanout方式來實現,而且需要建立n個佇列進行接收訊息.這樣就實現了一條訊息被多個消費者同時消費。

首先,配置fanoutexchange為乙個bean

@bean 

fanoutexchange testfanoutexchange()

其次,定義乙個佇列:anonymousqueue這個類是代表乙個匿名的、不耐用的、獨佔的、自動刪除的佇列。使用這個類會隨機生成乙個佇列名,專案啟動則隨機生成,停止則自動刪除,是乙個短暫的佇列

@bean

queue queuetest()

最後,將佇列繫結到exchange上
@bean 

binding bindingexchangetest(queue queuetest, fanoutexchange testfanoutexchange)

那麼如何監聽訊息佇列呢?

我們可以通過@rabbitlistener標籤進行監聽,通過佇列名進行識別

@rabbitlistener(queues = "#")

@rabbithandler

public void sendbizapiupdatetobackend(message message) catch (ioexception e) ", message, e);

}......

//todo

}

如何在 C 中使用 RabbitMQ

rabbitmq 是乙個非常流行的,開源的,使用erlang語言編寫的框架,通常在電信級平台中作為訊息中介軟體使用,rabbitmq實現了高階的amqp協議用於實現程序間,應用程式間,伺服器之間的訊息互動,而且它還有乙個非常?的特性,你可以使用自定義外掛程式來擴充套件rabbitmq的功能,而且它還...

如何使用RabbitMQ實現事件匯流排

首先,事件源與事件處理的對映字典。private static dictionary eventhandlers new dictionary 然後,初始化rabbitmq,建立到伺服器的連線,建立乙個通道等 public rabbitmqeventbus iconnectionfactory co...

rabbitmq簡單使用

安裝rabbitmq,進入sbin執行rabbitmq service start 傳送者 package com.zhy.rabbit.01 import com.rabbitmq.client.channel import com.rabbitmq.client.connection impor...