Hi Justin,
Thanks for response. Regarding below comment

" It's certainly true that LVQ + clustering is not a good fit (as noted in the 
docs [1]), but it's not clear why you're clustering in the first place or why 
you're not using an actual HA configuration."

1. As par of using LVQ, are we expected to explicitly disable clustering for 
LVQ address?
2. As I mentioned we have a 2 nodes symmetric cluster. When producer writes LVQ 
to node2 and LVQ consumer is on node1, automatically messages move from node2 
to node1 due to clustering. If this is not expected behavior?
2.1 We just ensure LVQ consumer is always connecting to node1.

Best Regards
Shiv

-----Original Message-----
From: Justin Bertram <jbert...@apache.org>
Sent: 05 January 2024 09:07 PM
To: users@activemq.apache.org
Subject: Re: Disabling clustering for a some addresses



CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not formally 
trusted by Eurofins.

Do not click on links or open attachments unless you recognise the sender and 
are certain that the content is safe.

It's hard to comment without more clarity about your design goals and 
constraints. It's certainly true that LVQ + clustering is not a good fit (as 
noted in the docs [1]), but it's not clear why you're clustering in the first 
place or why you're not using an actual HA configuration. Also, did you 
consider using a connection router to ensure the clients using the LVQ get 
routed to the same node no matter where they connect originally?


Justin

[1]
https://activemq.apache.org/components/artemis/documentation/latest/last-value-queues.html#clustering

On Fri, Jan 5, 2024 at 8:25 AM Shiv Kumar Dixit 
<shivkumar.di...@it.eurofinseu.com.invalid> wrote:

> Thanks for the response. We are looking to use disabling clustering on
> specific address to enable HA of LVQ.
>
> Current case:
> 1. There are 2 nodes in a symmetric cluster.
> 2. Producer can write LVQ message to any node of cluster.
> 3. Consumer always connects to node1 of cluster to ensure all LVQ
> messages are moved to node1 by virtue of clustering.  Consumer builds
> a local application cache using LVQ value.
> 4. Producer can write updated LVQ message during course of time which
> can be written to any node of cluster. Consumer keeps updating the
> cache if it is latest message.
> 5. If node1 is down then consumer is impacted and can't get LVQ
> messages till node1 is back.
>
> Proposed case:
> 1. There are 2 nodes in a symmetric cluster.
> 2. We will disable clustering for LVQ address.
> 3. Producer will write LVQ message to both nodes of cluster independently.
> 4. Consumer will connect to both the nodes independently and read LVQ
> messages from dedicated nodes.
> 5. Consumer will take care of discarding any duplicate or state value
> based on producer timestamp while building local application cache.
> 6. Producer will write updated LVQ message during course of time which
> can be written to all nodes of cluster. Consumer will keep updating
> the cache if it is latest message.
> 7. Even if any node is down, consumer will be able to get LVQ message
> from available node and then decide to update cache or not based on
> producer's timestamp.
>
> If this approach seems okay or there is other recommendation to ensure
> HA of LVQ?
>
> Best Regards
> Shiv
>
> -----Original Message-----
> From: Justin Bertram <jbert...@apache.org>
> Sent: 04 January 2024 08:27 PM
> To: users@activemq.apache.org
> Subject: Re: Disabling clustering for a some addresses
>
>
>
> CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not
> formally trusted by Eurofins.
>
> Do not click on links or open attachments unless you recognise the
> sender and are certain that the content is safe.
>
> > Is it possible to disable clustering for some addresses?
>
> Yes. Just define the address(es) in the <address> element of the
> relevant <cluster-connection> prepended with '!'. This syntax is noted
> in the documentation [1].
>
>
> Justin
>
> [1]
>
> https://acti/
> vemq.apache.org%2Fcomponents%2Fartemis%2Fdocumentation%2Flatest%2Fclus
> ters.html%23configuring-cluster-connections&data=05%7C02%7C%7Cfa9c7ef8
> 8b644c89739708dc0e0430fe%7C1a1dce2021b14beaa9d2130e9f1f6e2f%7C0%7C0%7C
> 638400658370608022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo
> iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=72AjO4%2
> BkIaOsZScpY0l%2FyZ%2B8NP7g5pjPZdTzjzqC1u8%3D&reserved=0
>
> On Thu, Jan 4, 2024 at 7:32 AM Shiv Kumar Dixit
> <shivkumar.di...@it.eurofinseu.com.invalid> wrote:
>
> > Hi,
> > Is it possible to disable clustering for some addresses?
> >
> > E.g. if I have 2 nodes in a broker cluster and given address
> > TEST.DEMO is present on both nodes. If messages are pending on node
> > A and consumer connects to node B then by virtue of clustering,
> > messages move from node A to node B and consumer on node B gets
> > them. Is it possible to disable this movement for a given address
> > and consumer on node B should only get messages when the pending
> > messages are on node B
> only?
> >
> > Thanks
> > Shiv
> >
>

Reply via email to