← Back to team overview

openstack team mailing list archive

Re: reconnecting to RabbitMQ

 

Oh, thanks for the reply.:) No, I do not need it asap. Now it is only
reserch. Does your ambitious project opensource too?Will kombu be
compatible?

2012/1/11 Ask Solem <ask@xxxxxxxxxxxx>

>
> On 11 Jan 2012, at 10:33, Roman Sokolkov wrote:
>
> > Hi, Ask.
> >
> > Could you tell about kamqp status? I see last commit from 14th of
> November.
> >
> >
> > For me interesting heartbeat feature and publisher confirms.
>
> Yeah, the kamqp project is on hold, as I have embarked on a more ambitious
> project
> that will solve the same things.  But if this is something
> that you are in need of asap, I could help finish the implementation in
> kamqp as a temporary solution.
>
> >
> > I played with kamqp and kombu. I see that heartbeats works, but kamqp
> doesn't closed the connection if network down. It already implemented?
>
> Yeah, the implementation is not complete, so it doesn't behave correctly
> in all cases,
> but it shouldn't be much work to have it working.
>
> >
> > What status of publisher confirms? Does kombu able to work with?
>
> amqplib does not support publisher confirms.
> I started playing with publisher confirms in kamqp as well, and I think it
> should be doable, especially when using eventlet/gevent.
>
> >
> > 2011/12/29 Roman Sokolkov <rsokolkov@xxxxxxxxx>
> > Thanks, Ask!
> >
> > amqplib versions after and including 1.0 enables SO_KEEPALIVE by default,
> > and Kombu versions after and including 1.2.1 depends on amqplib >= 1.0,
> > so maybe you should update your package dependencies?
> >
> > devstack requied amqplib 0.6.1.
> >
> > I will research the best solution more detailed.
> >
> > 2011/12/29 Ask Solem <ask@xxxxxxxxxxxx>
> >
> > On 28 Dec 2011, at 14:38, Roman Sokolkov wrote:
> >
> >> Hi!
> >>
> >> I tried to make Rabbit HA for Openstack.
> >>
> >> My first e-mail was little innacurate.
> >>
> >> I use two nodes with active/active rabbits with mirrored queues.
> Additionally I use Virtual IP. And all it managed by Pacemaker. Openstack
> uses this remote rabbitmq via VIP.
> >>
> >> I hardly reboot node with VIP and VIP moves to other node. In this
> case, connections on Openstack host staying forever in ESTABLISHED state(in
> py-amqlib 0.6.1 no tcp keepalive options).
> >> Openstack think that all good and doesn't try to reconnect. But I if
> correctly stop RabbitMQ, connections closed correctly and Openstack will
> try to reconnect.
> >>
> >> I solve this issue by adding tcp_keepalive options in
> py-amqlib(transport.py).
> >
> > amqplib versions after and including 1.0 enables SO_KEEPALIVE by default,
> > and Kombu versions after and including 1.2.1 depends on amqplib >= 1.0,
> > so maybe you should update your package dependencies?
> >
> >
> >
> >>
> >>
> >> It's very interesting what implemented in KAMQP. And how heartbeats
> work?
> >
> > Heartbeats is functionality part of the amqp 0-8 spec.
> > Heartbeats are enabled by specifying a heartbeat frequency, the broker
> will then
> > send heartbeat frames at that suggested frequency, and the client will
> also have
> > to send heartbeat frames back.  If heartbeats are missed by either the
> broker or client
> > the connection shall be disconnected.
> >
> > It's a very simple concept, but the problem with amqplib is that it is
> non-threaded,
> > so it can be  for the client to miss sending a heartbeat if it is
> blocking
> > elsewhere.  This is not a problem when using eventlet/gevent (that is
> unless the process is blocking, but that should never happen when using
> greenlets).
> >
> >
> >
> > --
> > Regards, Roman Sokolkov
> >
> >
> >
> > --
> > Regards, Roman Sokolkov
>
>


-- 
Regards, Roman Sokolkov

References