0
地下3.5, 的RabbitMQ併發限制在MassTransit(C#)
我有上隊列的數目偵聽總線連接服務。
- Q1
- Q2
- Q3
- Q4 等
所有隊列被接受相同的消息類型,所有這些都使用競爭消費者模式,其中有多個監聽這些相同隊列的不同機器上的服務。
什麼我後設置的所有這些隊列併發限制在一起,每一個過程。
我有一個有限的資源(可用的許可證的數量),以及需要限制併發請求每臺機器可用許可證的數量。
所以機器A可能有4個,B機可以有10個,等等
我不想機器A從所有這些隊列消耗任何消息,如果我已經有4名消費者跨越所有隊列處理消息,它如果他們有可用的資源,應該讓其他人(機器B,C等)使用它。
我的問題是,使用
sbc.UseConcurrencyLimit(4)
內
var bus = MassTransit.Bus.Factory.CreateUsingRabbitMq
是設置每個隊列併發限制,所以如果我有他們的4,它們都相加。
我需要的是所有的隊列來累計工作到併發性的限制,但不能超過它。
是否有MassTransit一個內置的方式來實現這一目標?