[rabbitmq-discuss] rabbitmq webstomp ha-mode
steve.flitcroft at ivendi.com
steve.flitcroft at ivendi.com
Wed Mar 19 13:39:59 GMT 2014
Hi Simon,
Non web socket clients (ie9, stock android, old ios/safari etc) always lost connection. As soon as I restrict the clients without a web socket upgrade hdr to goto the same rmq node then they stay connected. I can prove this very easily in my current setup with clients connecting to the rmq cluster via haproxy.
Cheers
On 19 Mar 2014, at 13:14, Simon MacMullen <simon at rabbitmq.com> wrote:
> On 19/03/14 11:04, Steve Flitcroft wrote:
>> Having trouble getting the queues that are created via sockjs & webstomp
>> being replicated across nodes.
>>
>> I have a policy set for any queues that start with amq to be replicated.
>>
>> You can see this here
>>
>> http://gyazo.com/b0e3fbac0d1a1d0baabc25c5f43499f0
>>
>> the amq.gen queue created by webstomp does not replicate to the other
>> node, the queue I created called amqsteve does.
>
> The amq.gen queue is declared as exclusive. From http://www.rabbitmq.com/ha.html:
>
> Exclusive queues will be deleted when the connection that declared
> them is closed. For this reason, it is not useful for an exclusive
> queue to be mirrored (or durable for that matter) since when the node
> hosting it goes down, the connection will close and the queue will
> need to be deleted anyway.
>
> For this reason, exclusive queues are never mirrored (even if they
> match a policy stating that they should be). They are also never
> durable (even if declared as such).
>
>> The result of this is that any non websocket browsers have to be routed
>> to exactly the same node otherwise they get a 404 on the xhr_send method
>> and lose connection.
>
> Uh, that's not the case; you can connect to any node to publish to a non-mirrored queue, it just gets routed inside the cluster.
>
> Cheers, Simon
>
> --
> Simon MacMullen
> RabbitMQ, Pivotal
More information about the rabbitmq-discuss
mailing list