You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Brian Ramprasad <br...@cs.utoronto.ca> on 2023/03/01 21:55:51 UTC

Artemis Router Architecture

Hi,

I am looking for information about how the routing function works in Artemis. Specifically, I am trying to understand what internal service inside the broker is invoked once a msg has been read off the network in order to determine where to forward the message. Additionally, I am trying to understand the service that is then responsible for moving that message to an outbound queue where a consumer is waiting to receive that message. 

I am trying to determine if I can optimize the routing mechanism by removing any unneeded functionality to reduce overhead  to support a specific consumer use case that I have. 

Any information is appreciated!

Thanks
Brian R

Re: Artemis Router Architecture

Posted by Justin Bertram <jb...@apache.org>.
Can you elaborate on your use-case at all?

The main class responsible for routing is
org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.


Justin

On Wed, Mar 1, 2023 at 4:55 PM Brian Ramprasad <br...@cs.utoronto.ca>
wrote:

> Hi Clebert,
>
> Thanks for your reply.
>
> Yes, I would still like to learn how the routing works. I am PhD student
> and my work involves using Artemis in a way that is likely very atypical as
> compared to the common use cases.
>
> Do you know if there is any documentation or can you provide the names of
> a few Java classes that are central to the router?
>
>
>
>
>
>
> > On Mar 1, 2023, at 5:16 PM, Clebert Suconic <cl...@gmail.com>
> wrote:
> >
> > Are you sure you need to do that?
> >
> > routing is so optimized right now... if you don't use transactions, a
> > single consumer, all that's happening is just sending straight to a
> > consumer.
> >
> >
> > If you start adding multiple consumers, than routing will probably
> > need some extra work to do, but other than that is pretty optimized
> > right now.
> >
> > On Wed, Mar 1, 2023 at 4:56 PM Brian Ramprasad <br...@cs.utoronto.ca>
> wrote:
> >>
> >> Hi,
> >>
> >> I am looking for information about how the routing function works in
> Artemis. Specifically, I am trying to understand what internal service
> inside the broker is invoked once a msg has been read off the network in
> order to determine where to forward the message. Additionally, I am trying
> to understand the service that is then responsible for moving that message
> to an outbound queue where a consumer is waiting to receive that message.
> >>
> >> I am trying to determine if I can optimize the routing mechanism by
> removing any unneeded functionality to reduce overhead  to support a
> specific consumer use case that I have.
> >>
> >> Any information is appreciated!
> >>
> >> Thanks
> >> Brian R
> >
> >
> >
> > --
> > Clebert Suconic
>
>

Re: Artemis Router Architecture

Posted by Brian Ramprasad <br...@cs.utoronto.ca>.
Hi Clebert,

Thanks for your reply.

Yes, I would still like to learn how the routing works. I am PhD student and my work involves using Artemis in a way that is likely very atypical as compared to the common use cases.

Do you know if there is any documentation or can you provide the names of a few Java classes that are central to the router?






> On Mar 1, 2023, at 5:16 PM, Clebert Suconic <cl...@gmail.com> wrote:
> 
> Are you sure you need to do that?
> 
> routing is so optimized right now... if you don't use transactions, a
> single consumer, all that's happening is just sending straight to a
> consumer.
> 
> 
> If you start adding multiple consumers, than routing will probably
> need some extra work to do, but other than that is pretty optimized
> right now.
> 
> On Wed, Mar 1, 2023 at 4:56 PM Brian Ramprasad <br...@cs.utoronto.ca> wrote:
>> 
>> Hi,
>> 
>> I am looking for information about how the routing function works in Artemis. Specifically, I am trying to understand what internal service inside the broker is invoked once a msg has been read off the network in order to determine where to forward the message. Additionally, I am trying to understand the service that is then responsible for moving that message to an outbound queue where a consumer is waiting to receive that message.
>> 
>> I am trying to determine if I can optimize the routing mechanism by removing any unneeded functionality to reduce overhead  to support a specific consumer use case that I have.
>> 
>> Any information is appreciated!
>> 
>> Thanks
>> Brian R
> 
> 
> 
> -- 
> Clebert Suconic


Re: Artemis Router Architecture

Posted by Clebert Suconic <cl...@gmail.com>.
Are you sure you need to do that?

routing is so optimized right now... if you don't use transactions, a
single consumer, all that's happening is just sending straight to a
consumer.


If you start adding multiple consumers, than routing will probably
need some extra work to do, but other than that is pretty optimized
right now.

On Wed, Mar 1, 2023 at 4:56 PM Brian Ramprasad <br...@cs.utoronto.ca> wrote:
>
> Hi,
>
> I am looking for information about how the routing function works in Artemis. Specifically, I am trying to understand what internal service inside the broker is invoked once a msg has been read off the network in order to determine where to forward the message. Additionally, I am trying to understand the service that is then responsible for moving that message to an outbound queue where a consumer is waiting to receive that message.
>
> I am trying to determine if I can optimize the routing mechanism by removing any unneeded functionality to reduce overhead  to support a specific consumer use case that I have.
>
> Any information is appreciated!
>
> Thanks
> Brian R



-- 
Clebert Suconic