Artemis: AMQP bridges

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Artemis: AMQP bridges

adagys
In our setup we have multiple independent Artemis brokers, linked together by core bridges to form a peer-to-peer network. We'd like to ensure that the wire-level protocol used is always AMQP (1.0), but the core bridges seem to only support core (which makes sense) and perform message conversion.
 
How feasible would it be to create a custom AMQP bridge implementation and what sort of issues we'd likely hit? Could you recommend any other approaches here?

Thanks
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
Take a look on qpid dispatch.

On Wed, Jul 26, 2017 at 11:16 AM adagys <[hidden email]> wrote:

> In our setup we have multiple independent Artemis brokers, linked together
> by
> core bridges to form a peer-to-peer network. We'd like to ensure that the
> wire-level protocol used is always AMQP (1.0), but the core bridges seem to
> only support core (which makes sense) and perform message conversion.
>
> How feasible would it be to create a custom AMQP bridge implementation and
> what sort of issues we'd likely hit? Could you recommend any other
> approaches here?
>
> Thanks
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Artemis-AMQP-bridges-tp4728934.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

Justin Bertram
In reply to this post by adagys
I'm curious about the use-case here.  Can you elaborate on this a bit?

As Clebert mentioned, Qpid Dispatch Router may fit your needs.  For certain
use cases it can be quite powerful.


Justin

On Wed, Jul 26, 2017 at 10:16 AM, adagys <[hidden email]> wrote:

> In our setup we have multiple independent Artemis brokers, linked together
> by
> core bridges to form a peer-to-peer network. We'd like to ensure that the
> wire-level protocol used is always AMQP (1.0), but the core bridges seem to
> only support core (which makes sense) and perform message conversion.
>
> How feasible would it be to create a custom AMQP bridge implementation and
> what sort of issues we'd likely hit? Could you recommend any other
> approaches here?
>
> Thanks
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.
> nabble.com/Artemis-AMQP-bridges-tp4728934.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
In reply to this post by adagys
Although I will fix core bridge this week.
My next task.

On Wed, Jul 26, 2017 at 11:16 AM adagys <[hidden email]> wrote:

> In our setup we have multiple independent Artemis brokers, linked together
> by
> core bridges to form a peer-to-peer network. We'd like to ensure that the
> wire-level protocol used is always AMQP (1.0), but the core bridges seem to
> only support core (which makes sense) and perform message conversion.
>
> How feasible would it be to create a custom AMQP bridge implementation and
> what sort of issues we'd likely hit? Could you recommend any other
> approaches here?
>
> Thanks
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Artemis-AMQP-bridges-tp4728934.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

adagys
In reply to this post by Justin Bertram
Thanks, I'll have a look at Dispatch.

The use-case is a distributed ledger platform, where we have a peer-to-peer network of nodes operated by different parties. Each node runs an Artemis broker, and maintains queues for messages to other nodes, which get forwarded using core bridges. We'd like to support a scenario where some of the nodes run a non-Artemis AMQP broker, and it's still possible to interoperate (the non-Artemis broker might also require some additional bridging support).

For more context: https://docs.corda.net/key-concepts-ecosystem.html#network-structure
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
Check back in a week.  I'm working on it.

On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]> wrote:

> Thanks, I'll have a look at Dispatch.
>
> The use-case is a distributed ledger platform, where we have a peer-to-peer
> network of nodes operated by different parties. Each node runs an Artemis
> broker, and maintains queues for messages to other nodes, which get
> forwarded using core bridges. We'd like to support a scenario where some of
> the nodes run a non-Artemis AMQP broker, and it's still possible to
> interoperate (the non-Artemis broker might also require some additional
> bridging support).
>
> For more context:
> https://docs.corda.net/key-concepts-ecosystem.html#network-structure
> <https://docs.corda.net/key-concepts-ecosystem.html#network-structure>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Artemis-AMQP-bridges-tp4728934p4728978.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

Justin Bertram
Thanks for the explanation.  That seems like it would be a good use-case
for Camel bridging between two JMS providers.


Justin

On Thu, Jul 27, 2017 at 12:54 PM, Clebert Suconic <[hidden email]
> wrote:

> Check back in a week.  I'm working on it.
>
> On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]> wrote:
>
> > Thanks, I'll have a look at Dispatch.
> >
> > The use-case is a distributed ledger platform, where we have a
> peer-to-peer
> > network of nodes operated by different parties. Each node runs an Artemis
> > broker, and maintains queues for messages to other nodes, which get
> > forwarded using core bridges. We'd like to support a scenario where some
> of
> > the nodes run a non-Artemis AMQP broker, and it's still possible to
> > interoperate (the non-Artemis broker might also require some additional
> > bridging support).
> >
> > For more context:
> > https://docs.corda.net/key-concepts-ecosystem.html#network-structure
> > <https://docs.corda.net/key-concepts-ecosystem.html#network-structure>
> >
> >
> >
> > --
> > View this message in context:
> > http://activemq.2283324.n4.nabble.com/Artemis-AMQP-
> bridges-tp4728934p4728978.html
> > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >
> --
> Clebert Suconic
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
On Thu, Jul 27, 2017 at 2:07 PM Justin Bertram <[hidden email]> wrote:

> Thanks for the explanation.  That seems like it would be a good use-case
> for Camel bridging between two JMS providers.
>

Regardless I will have to fix the core bridge to load balance amqp as well.



>
> Justin
>
> On Thu, Jul 27, 2017 at 12:54 PM, Clebert Suconic <
> [hidden email]
> > wrote:
>
> > Check back in a week.  I'm working on it.
> >
> > On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]> wrote:
> >
> > > Thanks, I'll have a look at Dispatch.
> > >
> > > The use-case is a distributed ledger platform, where we have a
> > peer-to-peer
> > > network of nodes operated by different parties. Each node runs an
> Artemis
> > > broker, and maintains queues for messages to other nodes, which get
> > > forwarded using core bridges. We'd like to support a scenario where
> some
> > of
> > > the nodes run a non-Artemis AMQP broker, and it's still possible to
> > > interoperate (the non-Artemis broker might also require some additional
> > > bridging support).
> > >
> > > For more context:
> > > https://docs.corda.net/key-concepts-ecosystem.html#network-structure
> > > <https://docs.corda.net/key-concepts-ecosystem.html#network-structure>
> > >
> > >
> > >
> > > --
> > > View this message in context:
> > > http://activemq.2283324.n4.nabble.com/Artemis-AMQP-
> > bridges-tp4728934p4728978.html
> > > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> > >
> > --
> > Clebert Suconic
> >
>
--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

Justin Bertram
Clebert, are you changing the core bridge to support Artemis' internal AMQP
message representation or are you implementing a bridge that uses the AMQP
protocol?


Justin

On Thu, Jul 27, 2017 at 1:19 PM, Clebert Suconic <[hidden email]>
wrote:

> On Thu, Jul 27, 2017 at 2:07 PM Justin Bertram <[hidden email]>
> wrote:
>
> > Thanks for the explanation.  That seems like it would be a good use-case
> > for Camel bridging between two JMS providers.
> >
>
> Regardless I will have to fix the core bridge to load balance amqp as well.
>
>
>
> >
> > Justin
> >
> > On Thu, Jul 27, 2017 at 12:54 PM, Clebert Suconic <
> > [hidden email]
> > > wrote:
> >
> > > Check back in a week.  I'm working on it.
> > >
> > > On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]> wrote:
> > >
> > > > Thanks, I'll have a look at Dispatch.
> > > >
> > > > The use-case is a distributed ledger platform, where we have a
> > > peer-to-peer
> > > > network of nodes operated by different parties. Each node runs an
> > Artemis
> > > > broker, and maintains queues for messages to other nodes, which get
> > > > forwarded using core bridges. We'd like to support a scenario where
> > some
> > > of
> > > > the nodes run a non-Artemis AMQP broker, and it's still possible to
> > > > interoperate (the non-Artemis broker might also require some
> additional
> > > > bridging support).
> > > >
> > > > For more context:
> > > > https://docs.corda.net/key-concepts-ecosystem.html#network-structure
> > > > <https://docs.corda.net/key-concepts-ecosystem.html#
> network-structure>
> > > >
> > > >
> > > >
> > > > --
> > > > View this message in context:
> > > > http://activemq.2283324.n4.nabble.com/Artemis-AMQP-
> > > bridges-tp4728934p4728978.html
> > > > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> > > >
> > > --
> > > Clebert Suconic
> > >
> >
> --
> Clebert Suconic
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
If an AMQP message is going through the bridge. I would embed the wrap the
message Before send.  Unwrap at receiving.

That is the protocol is still core.  But it would wrap non core messages
instead of converting it.

On Thu, Jul 27, 2017 at 2:44 PM Justin Bertram <[hidden email]> wrote:

> Clebert, are you changing the core bridge to support Artemis' internal AMQP
> message representation or are you implementing a bridge that uses the AMQP
> protocol?
>
>
> Justin
>
> On Thu, Jul 27, 2017 at 1:19 PM, Clebert Suconic <
> [hidden email]>
> wrote:
>
> > On Thu, Jul 27, 2017 at 2:07 PM Justin Bertram <[hidden email]>
> > wrote:
> >
> > > Thanks for the explanation.  That seems like it would be a good
> use-case
> > > for Camel bridging between two JMS providers.
> > >
> >
> > Regardless I will have to fix the core bridge to load balance amqp as
> well.
> >
> >
> >
> > >
> > > Justin
> > >
> > > On Thu, Jul 27, 2017 at 12:54 PM, Clebert Suconic <
> > > [hidden email]
> > > > wrote:
> > >
> > > > Check back in a week.  I'm working on it.
> > > >
> > > > On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]> wrote:
> > > >
> > > > > Thanks, I'll have a look at Dispatch.
> > > > >
> > > > > The use-case is a distributed ledger platform, where we have a
> > > > peer-to-peer
> > > > > network of nodes operated by different parties. Each node runs an
> > > Artemis
> > > > > broker, and maintains queues for messages to other nodes, which get
> > > > > forwarded using core bridges. We'd like to support a scenario where
> > > some
> > > > of
> > > > > the nodes run a non-Artemis AMQP broker, and it's still possible to
> > > > > interoperate (the non-Artemis broker might also require some
> > additional
> > > > > bridging support).
> > > > >
> > > > > For more context:
> > > > >
> https://docs.corda.net/key-concepts-ecosystem.html#network-structure
> > > > > <https://docs.corda.net/key-concepts-ecosystem.html#
> > network-structure>
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > View this message in context:
> > > > > http://activemq.2283324.n4.nabble.com/Artemis-AMQP-
> > > > bridges-tp4728934p4728978.html
> > > > > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> > > > >
> > > > --
> > > > Clebert Suconic
> > > >
> > >
> > --
> > Clebert Suconic
> >
>
--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

Justin Bertram
In that case, your fix (while needed) wouldn't help in this use-case since
they're trying to connect between nodes via AMQP.

I think either Qpid Dispatch Router or a Camel have the most promise at
this point.


Justin

On Thu, Jul 27, 2017 at 2:36 PM, Clebert Suconic <[hidden email]>
wrote:

> If an AMQP message is going through the bridge. I would embed the wrap the
> message Before send.  Unwrap at receiving.
>
> That is the protocol is still core.  But it would wrap non core messages
> instead of converting it.
>
> On Thu, Jul 27, 2017 at 2:44 PM Justin Bertram <[hidden email]>
> wrote:
>
> > Clebert, are you changing the core bridge to support Artemis' internal
> AMQP
> > message representation or are you implementing a bridge that uses the
> AMQP
> > protocol?
> >
> >
> > Justin
> >
> > On Thu, Jul 27, 2017 at 1:19 PM, Clebert Suconic <
> > [hidden email]>
> > wrote:
> >
> > > On Thu, Jul 27, 2017 at 2:07 PM Justin Bertram <[hidden email]>
> > > wrote:
> > >
> > > > Thanks for the explanation.  That seems like it would be a good
> > use-case
> > > > for Camel bridging between two JMS providers.
> > > >
> > >
> > > Regardless I will have to fix the core bridge to load balance amqp as
> > well.
> > >
> > >
> > >
> > > >
> > > > Justin
> > > >
> > > > On Thu, Jul 27, 2017 at 12:54 PM, Clebert Suconic <
> > > > [hidden email]
> > > > > wrote:
> > > >
> > > > > Check back in a week.  I'm working on it.
> > > > >
> > > > > On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]>
> wrote:
> > > > >
> > > > > > Thanks, I'll have a look at Dispatch.
> > > > > >
> > > > > > The use-case is a distributed ledger platform, where we have a
> > > > > peer-to-peer
> > > > > > network of nodes operated by different parties. Each node runs an
> > > > Artemis
> > > > > > broker, and maintains queues for messages to other nodes, which
> get
> > > > > > forwarded using core bridges. We'd like to support a scenario
> where
> > > > some
> > > > > of
> > > > > > the nodes run a non-Artemis AMQP broker, and it's still possible
> to
> > > > > > interoperate (the non-Artemis broker might also require some
> > > additional
> > > > > > bridging support).
> > > > > >
> > > > > > For more context:
> > > > > >
> > https://docs.corda.net/key-concepts-ecosystem.html#network-structure
> > > > > > <https://docs.corda.net/key-concepts-ecosystem.html#
> > > network-structure>
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > View this message in context:
> > > > > > http://activemq.2283324.n4.nabble.com/Artemis-AMQP-
> > > > > bridges-tp4728934p4728978.html
> > > > > > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> > > > > >
> > > > > --
> > > > > Clebert Suconic
> > > > >
> > > >
> > > --
> > > Clebert Suconic
> > >
> >
> --
> Clebert Suconic
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
form what I understood.. he wanted AMQP because of the core-bridge
wouldn't support the AMQP format. but if you can actually transfer an
AMQP message between broker.. it wouldn't matter what's being used...
unless they want to be that specific.

On Thu, Jul 27, 2017 at 3:41 PM, Justin Bertram <[hidden email]> wrote:

> In that case, your fix (while needed) wouldn't help in this use-case since
> they're trying to connect between nodes via AMQP.
>
> I think either Qpid Dispatch Router or a Camel have the most promise at
> this point.
>
>
> Justin
>
> On Thu, Jul 27, 2017 at 2:36 PM, Clebert Suconic <[hidden email]>
> wrote:
>
>> If an AMQP message is going through the bridge. I would embed the wrap the
>> message Before send.  Unwrap at receiving.
>>
>> That is the protocol is still core.  But it would wrap non core messages
>> instead of converting it.
>>
>> On Thu, Jul 27, 2017 at 2:44 PM Justin Bertram <[hidden email]>
>> wrote:
>>
>> > Clebert, are you changing the core bridge to support Artemis' internal
>> AMQP
>> > message representation or are you implementing a bridge that uses the
>> AMQP
>> > protocol?
>> >
>> >
>> > Justin
>> >
>> > On Thu, Jul 27, 2017 at 1:19 PM, Clebert Suconic <
>> > [hidden email]>
>> > wrote:
>> >
>> > > On Thu, Jul 27, 2017 at 2:07 PM Justin Bertram <[hidden email]>
>> > > wrote:
>> > >
>> > > > Thanks for the explanation.  That seems like it would be a good
>> > use-case
>> > > > for Camel bridging between two JMS providers.
>> > > >
>> > >
>> > > Regardless I will have to fix the core bridge to load balance amqp as
>> > well.
>> > >
>> > >
>> > >
>> > > >
>> > > > Justin
>> > > >
>> > > > On Thu, Jul 27, 2017 at 12:54 PM, Clebert Suconic <
>> > > > [hidden email]
>> > > > > wrote:
>> > > >
>> > > > > Check back in a week.  I'm working on it.
>> > > > >
>> > > > > On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]>
>> wrote:
>> > > > >
>> > > > > > Thanks, I'll have a look at Dispatch.
>> > > > > >
>> > > > > > The use-case is a distributed ledger platform, where we have a
>> > > > > peer-to-peer
>> > > > > > network of nodes operated by different parties. Each node runs an
>> > > > Artemis
>> > > > > > broker, and maintains queues for messages to other nodes, which
>> get
>> > > > > > forwarded using core bridges. We'd like to support a scenario
>> where
>> > > > some
>> > > > > of
>> > > > > > the nodes run a non-Artemis AMQP broker, and it's still possible
>> to
>> > > > > > interoperate (the non-Artemis broker might also require some
>> > > additional
>> > > > > > bridging support).
>> > > > > >
>> > > > > > For more context:
>> > > > > >
>> > https://docs.corda.net/key-concepts-ecosystem.html#network-structure
>> > > > > > <https://docs.corda.net/key-concepts-ecosystem.html#
>> > > network-structure>
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > --
>> > > > > > View this message in context:
>> > > > > > http://activemq.2283324.n4.nabble.com/Artemis-AMQP-
>> > > > > bridges-tp4728934p4728978.html
>> > > > > > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>> > > > > >
>> > > > > --
>> > > > > Clebert Suconic
>> > > > >
>> > > >
>> > > --
>> > > Clebert Suconic
>> > >
>> >
>> --
>> Clebert Suconic
>>



--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

Justin Bertram
Andrius can certainly clarify, but I took the statement, "We'd like to
support a scenario where some of the nodes run a non-Artemis AMQP broker,
and it's still possible to interoperate," to mean that the bridge's
protocol should be AMQP so it will be compatible with other brokers.

Andrius, can you comment on this?


Justin

On Thu, Jul 27, 2017 at 3:05 PM, Clebert Suconic <[hidden email]>
wrote:

> form what I understood.. he wanted AMQP because of the core-bridge
> wouldn't support the AMQP format. but if you can actually transfer an
> AMQP message between broker.. it wouldn't matter what's being used...
> unless they want to be that specific.
>
> On Thu, Jul 27, 2017 at 3:41 PM, Justin Bertram <[hidden email]>
> wrote:
> > In that case, your fix (while needed) wouldn't help in this use-case
> since
> > they're trying to connect between nodes via AMQP.
> >
> > I think either Qpid Dispatch Router or a Camel have the most promise at
> > this point.
> >
> >
> > Justin
> >
> > On Thu, Jul 27, 2017 at 2:36 PM, Clebert Suconic <
> [hidden email]>
> > wrote:
> >
> >> If an AMQP message is going through the bridge. I would embed the wrap
> the
> >> message Before send.  Unwrap at receiving.
> >>
> >> That is the protocol is still core.  But it would wrap non core messages
> >> instead of converting it.
> >>
> >> On Thu, Jul 27, 2017 at 2:44 PM Justin Bertram <[hidden email]>
> >> wrote:
> >>
> >> > Clebert, are you changing the core bridge to support Artemis' internal
> >> AMQP
> >> > message representation or are you implementing a bridge that uses the
> >> AMQP
> >> > protocol?
> >> >
> >> >
> >> > Justin
> >> >
> >> > On Thu, Jul 27, 2017 at 1:19 PM, Clebert Suconic <
> >> > [hidden email]>
> >> > wrote:
> >> >
> >> > > On Thu, Jul 27, 2017 at 2:07 PM Justin Bertram <[hidden email]
> >
> >> > > wrote:
> >> > >
> >> > > > Thanks for the explanation.  That seems like it would be a good
> >> > use-case
> >> > > > for Camel bridging between two JMS providers.
> >> > > >
> >> > >
> >> > > Regardless I will have to fix the core bridge to load balance amqp
> as
> >> > well.
> >> > >
> >> > >
> >> > >
> >> > > >
> >> > > > Justin
> >> > > >
> >> > > > On Thu, Jul 27, 2017 at 12:54 PM, Clebert Suconic <
> >> > > > [hidden email]
> >> > > > > wrote:
> >> > > >
> >> > > > > Check back in a week.  I'm working on it.
> >> > > > >
> >> > > > > On Thu, Jul 27, 2017 at 1:34 PM adagys <[hidden email]>
> >> wrote:
> >> > > > >
> >> > > > > > Thanks, I'll have a look at Dispatch.
> >> > > > > >
> >> > > > > > The use-case is a distributed ledger platform, where we have a
> >> > > > > peer-to-peer
> >> > > > > > network of nodes operated by different parties. Each node
> runs an
> >> > > > Artemis
> >> > > > > > broker, and maintains queues for messages to other nodes,
> which
> >> get
> >> > > > > > forwarded using core bridges. We'd like to support a scenario
> >> where
> >> > > > some
> >> > > > > of
> >> > > > > > the nodes run a non-Artemis AMQP broker, and it's still
> possible
> >> to
> >> > > > > > interoperate (the non-Artemis broker might also require some
> >> > > additional
> >> > > > > > bridging support).
> >> > > > > >
> >> > > > > > For more context:
> >> > > > > >
> >> > https://docs.corda.net/key-concepts-ecosystem.html#network-structure
> >> > > > > > <https://docs.corda.net/key-concepts-ecosystem.html#
> >> > > network-structure>
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > > > --
> >> > > > > > View this message in context:
> >> > > > > > http://activemq.2283324.n4.nabble.com/Artemis-AMQP-
> >> > > > > bridges-tp4728934p4728978.html
> >> > > > > > Sent from the ActiveMQ - User mailing list archive at
> Nabble.com.
> >> > > > > >
> >> > > > > --
> >> > > > > Clebert Suconic
> >> > > > >
> >> > > >
> >> > > --
> >> > > Clebert Suconic
> >> > >
> >> >
> >> --
> >> Clebert Suconic
> >>
>
>
>
> --
> Clebert Suconic
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

adagys
Thanks guys. Yes I meant that the bridge should use AMQP protocol and act as an AMQP client from the target's perspective.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
On that case you can look at qpid-dispatch...

The bridge will load balance amqp messages as well (if configured to
do so), but that's now what you're looking for.

On Fri, Jul 28, 2017 at 5:12 AM, adagys <[hidden email]> wrote:
> Thanks guys. Yes I meant that the bridge should use AMQP protocol and act as
> an AMQP client from the target's perspective.
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-AMQP-bridges-tp4728934p4729002.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



--
Clebert Suconic
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

adagys
So I had a look at qpid-dispatch, but it doesn't seem to solve our problem. Unless I'm misunderstanding, the way it works is that a client (consumer/producer) connects to the router, which then links it to another endpoint – a queue inside a broker, or producer/consumer. In our scenario we want something that independently forwards messages between queues in different brokers.

Here's an illustration:



A client connects to the broker, posts a message to the "outgoing" queue and waits for a response on the "incoming" queue. The message then gets forwarded to an "incoming" queue on another broker, where it gets processed by the recipient. A response is sent back the same way. The blue lines currently represent Core bridges.

What we want to achieve is have a bridging mechanism that works over AMQP, so e.g. Broker 1 could be Artemis and Broker 2, say, Qpid. It may well be that JMS bridges is the best solution here, but the docs mention that it's less performant (are there any rough perf metrics for Core vs JMS bridges?), so I was wondering how difficult it would be to build a custom Core -> AMQP bridge (even if it only works one way in this case).

Our second concern is backwards-compatibility, and having all communication done via AMQP solves that. Are there any backwards-compatibility guarantees for the Core protocol?

Thanks again for your help!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

clebertsuconic
On Wed, Aug 2, 2017 at 12:38 PM, adagys <[hidden email]> wrote:
> So I had a look at qpid-dispatch, but it doesn't seem to solve our problem.
> Unless I'm misunderstanding, the way it works is that a client
> (consumer/producer) connects to the router, which then links it to another
> endpoint – a queue inside a broker, or producer/consumer. In our scenario we
> want something that independently forwards messages between queues in
> different brokers.

I understand...

although you should keep your processing in the same broker...
redirecting messages through the broker is never a good choice... we
keep it here for when it happens but users should keep consumers and
producers as close as possible.. otherwise you're creating a mesh..
and your cluster won't ever scale more than less of what a single node
would be capable of. (There is even a theorem in computing science
proving that point.. I can't remember the exact one now.. but it's
something we came through years ago).

if you just keep redistributing everything.. you will endup with being
better with a single node.



>
> Here's an illustration:
>
> <http://activemq.2283324.n4.nabble.com/file/n4729171/Corda_Messaging.png>


This is exactly what I was trying to describe you.

> Our second concern is backwards-compatibility, and having all communication
> done via AMQP solves that. Are there any backwards-compatibility guarantees
> for the Core protocol?

We have guarnatees on the core protocol, however.. even if we ever
changed the inter broker communication to AMQP we are not testing
inter-version communication at the cluster. Minor updates are ok...
but I wouldn't count on mixing brokers of different versions in
cluster. The broker will have semantics on the messages sent between
the cluster.. and specially between major releases.. even AMQP won't
save you from that.


What you want here is the inter broker communication to load balance
AMQP Messages as well...


But beware of my last point... the mesh of consumer and producers on
different boxes will kill your system... and that will go for any
system you choose.. it's a Computer Science problem not tight up to
any specific broker.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis: AMQP bridges

Justin Bertram
In reply to this post by adagys
Re: In our scenario we want something that independently forwards messages
between queues in different brokers...Here's an illustration...

To me it looks like your illustration is depicting a scenario where
messages are exchanged between Alice and Bob.  That's exactly the kind of
functionality that the router provides, and it can do so without requiring
a broker.

I'm guessing that there's something else in your use-case that requires a
broker otherwise you would already be using the router.  Unfortunately that
particular details remains obscured.


Re: are there any rough perf metrics for Core vs JMS bridges?

I'm not aware of any metrics.  What's your throughput and latency goals?
Have you performed any benchmarks to know that a JMS bridge doesn't meet
your goal(s)?


Re: ...I was wondering how difficult it would be to build a custom Core ->
AMQP bridge...

Why would you need to build a custom bridge?  Camel, as I have already
suggested, has a bridge that you could use.


Re: Are there any backwards-compatibility guarantees for the Core protocol?

There's always the potential for bugs, but backwards compatibility is a
priority.


Justin

On Wed, Aug 2, 2017 at 11:38 AM, adagys <[hidden email]> wrote:

> So I had a look at qpid-dispatch, but it doesn't seem to solve our problem.
> Unless I'm misunderstanding, the way it works is that a client
> (consumer/producer) connects to the router, which then links it to another
> endpoint – a queue inside a broker, or producer/consumer. In our scenario
> we
> want something that independently forwards messages between queues in
> different brokers.
>
> Here's an illustration:
>
> <http://activemq.2283324.n4.nabble.com/file/n4729171/Corda_Messaging.png>
>
> A client connects to the broker, posts a message to the "outgoing" queue
> and
> waits for a response on the "incoming" queue. The message then gets
> forwarded to an "incoming" queue on another broker, where it gets processed
> by the recipient. A response is sent back the same way. The blue lines
> currently represent Core bridges.
>
> What we want to achieve is have a bridging mechanism that works over AMQP,
> so e.g. Broker 1 could be Artemis and Broker 2, say, Qpid. It may well be
> that JMS bridges is the best solution here, but the docs mention that it's
> less performant (are there any rough perf metrics for Core vs JMS
> bridges?),
> so I was wondering how difficult it would be to build a custom Core -> AMQP
> bridge (even if it only works one way in this case).
>
> Our second concern is backwards-compatibility, and having all communication
> done via AMQP solves that. Are there any backwards-compatibility guarantees
> for the Core protocol?
>
> Thanks again for your help!
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.
> nabble.com/Artemis-AMQP-bridges-tp4728934p4729171.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Loading...