簡體   English   中英

來自MassTransit / RabbitMQ中負載均衡應用程序的競爭消費者

[英]Competing Consumers from load balancing application in MassTransit/RabbitMQ

我剛剛創建了一個API,其中來自API的請求通過MassTransit / RabbitMQ使用請求/響應模式轉發到后端服務。 我們現在正在考慮將其推向生產階段,並希望在不同的服務上運行多個應用程序實例(包括API和服務),負載均衡器在它們之間分配請求。

這使我們處於一個位置,如果其中一個服務器由於任何原因從池中取出,我們可能會丟失所有消息。 我正在考慮在服務器之間創建一個RabbitMQ集群(每個服務器都有本地安裝),並且想知道如何在這個實例中設置競爭消費者。

RabbitMQ或MassTransit是否處理此問題,以便只有一個消費者會收到請求,或者所有消費者都會收到請求並嘗試響應? 另外,使用RabbitMQ集群,MassTransit / RabbitMQ如何處理節點失敗?

你應該看看這個文件。 http://www.rabbitmq.com/distributed.html

非常好地解釋了常見的分布式場景。 對於您的場景,我認為聯合比群集更合適。 如果要進行群集,則應查看鏡像隊列。

如果您只需要性能,那么您最好使用單個服務器來處理消息隊列,而另一個服務器將連接到它並生成/使用消息。

我不知道公共交通是如何運作的,但是,如果使用請求/響應,您應該向單個消費者發送一條消息,如果消息沒有被消息(消費者崩潰),另一個消費者應該接收它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM