[rabbitmq-discuss] Problems installing LVC exchange

Simon MacMullen simon at rabbitmq.com
Thu Jul 5 17:34:13 BST 2012


On 05/07/12 14:27, Rob Woolfson wrote:
> Is the issue the number of messages that could be sent, because with a
> large number of bindings I will receive a large number of messages to
> the queue in a direct exchange too?

Yes, but with a direct exchange you will only receive one *per binding*.

> If I understand you correctly the problem is a new routing key could
> match one or more messages stored, as opposed to in a direct exchange
> where once it finds a match it can stop searching as it will match one
> and only one message.

Yes.

> This is a problem if there are many potential routing keys especially
> if they are segmented (not sure what to call it) x.y.z.a.b.c then
> there is a lot more checking todo.  How much of a problem is this
> though?

Well, it strikes me that this is not likely to be amazingly performant. 
But the LVC exchange is not that fast anyway.

> My problem is that I want to use this to track the status of a number
> of different things.  With a topic style routing key I can send all
> status message to a single exchange and have all process requiring to
> know the status of a particular other process consume only the
> relevant messages.  This is easiest with a topic exchange, anything I
> do with a direct exchange will require more and possibly many more
> exchanges and or parsing of complex routing keys.

So yes, this could happen. But I should point out that I only just 
adopted the LVC exchange, and only really had intended to get it working 
again. I will add this to the big pile of things to do, though :-)

Cheers, Simon

> On Thu, Jul 5, 2012 at 3:58 PM, Simon MacMullen<simon at rabbitmq.com>  wrote:
>> Not at the moment, I think because it's not completely obvious what it
>> should do.
>>
>> The direct-exchange case is obvious: store a last message for every routing
>> key that is ever published, and then look up the routing key when a new
>> queue is bound.
>>
>> But in the topic case if we do that then we would have to check each stored
>> message and send it to the new queue if it matches the new routing key. So
>> the queue could conceptually get a whole load of messages sent. Does this
>> seem like a reasonable thing for it to do?
>>
>> Cheers, Simon
>>
>>
>> On 05/07/12 11:20, Rob Woolfson wrote:
>>>
>>> Is there a way to change it to a topic exchange instead of a direct
>>> exchange?
>>>
>>> On Wed, Jul 4, 2012 at 5:11 PM, Simon MacMullen<simon at rabbitmq.com>
>>>   wrote:
>>>>
>>>> On 04/07/12 15:08, Rob Woolfson wrote:
>>>>>
>>>>>
>>>>> You need to change this in the readme:
>>>>
>>>>
>>>>
>>>> Good point; done.
>>>>
>>>>
>>>> Cheers, Simon
>>>>
>>>> --
>>>> Simon MacMullen
>>>> RabbitMQ, VMware
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Simon MacMullen
>> RabbitMQ, VMware
>
>
>


-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list