qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Conway <acon...@redhat.com>
Subject Re: Review Request: Allow broker to initiate AMQP 1.0 connections (and links) to other entities
Date Mon, 18 Feb 2013 15:16:06 GMT
Hi Gordon,

I'm thinking about new-HA over 1.0. How much work do you think it would
be to create replicating links with the new domain model? 

HA currently uses the Link/Bridge classes to host its replicating
subscriptions, so probably we'll need an abstraction that can be
implemented over both Link/Bridge and 1.0 domains.

Do we have failover in 1.0 yet (broker and/or client)?

Thanks
Alan.
On Fri, 2013-02-15 at 18:13 +0000, Gordon Sim wrote:
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9469/
> -----------------------------------------------------------
> 
> Review request for qpid.
> 
> 
> Description
> -------
> 
> I.e. provide equivalent functionality as offered over AMQP 0-10 through the so called
federation capabilities.
> 
> This patch, which is still a work in progress, does not simply reproduce the 0-10 capabilities
over 1.0. It does not use the existing Bridge and Link objects. For one thing, the naming
of those objects is confusing - wrong in fact - from a 1.0 perspective. The code is also quite
tied into 0-10. Finally, I think there are aspects of the existing code that with the benefit
of experience aren't ideal. My view was that leaving that code unaltered and adding equivalent
functionality anew for 1.0 was the cleanest approach.
> 
> The current patch offers the following:
> 
> * Through management you can define 'domains'. These are essentially descriptions of
some external entity to which a 1.0 connection can be made.
> 
> * Through management you can set up incoming or outgoing links to or from a domain. The
source and target for the link can be specified. This allows you for example to pull messages
off a queue on some other broker and have them routed through an exchange on the 'local broker.
> 
> * You can also establish 'relayed' links. If you open a link (either incoming or outgoing)
to <name>@<domain>, an there is no queue or exchange matching that full address
defined, then the broker will determine if the domain is one it knows about and if so it will
establish a corresponding link to that domain. So for example if you send to my-queue@another-broker,
then a link will be setup to my-queue on another-broker and all the messages you send over
the original link will be relayed over that (by relayed I mean that this is not a store-and-forward
approach where the broker we are connected to accepts the message and forwards it, but a simple
proxying approach). You can also open a receiving link to my-queue@another-broker and pull
messages off that remote queue via the broker you are connected to.
> 
> 
> This addresses bug QPID-4586.
>     https://issues.apache.org/jira/browse/QPID-4586
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/src/CMakeLists.txt 1446560 
>   /trunk/qpid/cpp/src/Makefile.am 1446560 
>   /trunk/qpid/cpp/src/amqp.cmake 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/Broker.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/LossyQueue.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/ObjectFactory.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/ObjectFactory.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/SecureConnectionFactory.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/SecureConnectionFactory.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Connection.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Domain.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Incoming.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnects.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Interconnects.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedIncomingLink.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedIncomingLink.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Relay.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Relay.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Sasl.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Sasl.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.h PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Session.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Translation.h 1446560 
>   /trunk/qpid/cpp/src/qpid/broker/amqp/Translation.cpp 1446560 
>   /trunk/qpid/specs/management-schema.xml 1446560 
> 
> Diff: https://reviews.apache.org/r/9469/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gordon Sim
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message