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://activemq.apache.org/components/artemis/documentation/latest/clusters.html#configuring-cluster-connections
>
> 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