簡體   English   中英

並發限制在 MassTransit RabbitMQ 中如何工作?

[英]How does Concurrency Limit work in MassTransit RabbitMQ?

我正在閱讀 MassTransit RabbitMQ 中的並發限制,但我仍然不明白它是如何工作的。

假設我有 4 個消費者,並且我將並發限制配置為 1 config.UseConcurrencyLimit(1); . 當生產者同時發送 4 條消息時,會發生什么? 只有一個消費者會消費一條消息,而其他所有 3 條消息都將被丟棄?

有人可以解釋一下它是如何工作的嗎?

並發限制設置適用於 GreenPipes 中的並發過濾器。 它對單個消費 pipe 設置了限制,這是單個消費類型的 pipe。

它基本上告訴 MassTransit 可以實例化多少(競爭)相同類型的消費者來並行處理相同類型的消息。

正如問題評論中正確提到的那樣,排隊中沒有“丟棄消息”之類的東西。 即使您將限制設置為 1 並發布 1000 條消息,它們也會被處理,在這種情況下是一條一條地處理。

暫無
暫無

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

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