[openstack-dev] [oslo][messaging]: expected delivery guarantees & handling failure
Gordon Sim
gsim at redhat.com
Fri Nov 29 15:58:16 UTC 2013
What are the expected delivery guarantees for messages for rpc
transports in oslo.messaging?
Are failures to be handled by the applications using the rpc interface
(e.g. by retrying on timeout)? Or is the transport expected to provide
the necessary reliability of messages? Or is this something that can
vary by transport (i.e. with different qos for different transports)?
I see acks seem to be used for consumer with rabbit, but there is no
means in AMQP 0-9-1 to confirm published messages (Rabbit have an
extension, but I can't see this being used either). So though the
delivery from broker to consumers is reliable (assuming durable or
replicated storage of the message by the broker), the delivery from
producers to the broker is not.
For qpid the queues are always autodelete and no reliability is set for
consumers (i.e. messages are assumed delivered without waiting for
acknowledgement). As the reconnect is handled by the driver rather than
the underlying qpid.messaging client, in doubt published messages aren't
replayed either.
I'm very new to the code so I may be missing something, but it seems
like messages could be lost regardless of broker configuration with
either the rabbit or qpid drivers and just wanted to confirm this is as
intended.
--Gordon.
More information about the OpenStack-dev
mailing list