Hi Justin

Would it be able to reach out to you directly to discuss a couple of points 
around the discussion below privately ?

Thanks
Roy


> On 28 Mar 2023, at 10:26, Roy Cohen <roy_co...@hotmail.com> wrote:
> 
> You have indeed ! :)
> 
> On 27 Mar 2023, at 19:35, Justin Bertram <jbert...@apache.org> wrote:
> 
> I wrote that on a completely different thread [1] related to MQTT retained
> messages in a cluster. It is not related to this thread or your issue
> generally.
> 
> 
> Justin
> 
> [1] https://lists.apache.org/thread/oq41shfpv108m739km3rhs4tfj76c1zf
> 
> On Mon, Mar 27, 2023 at 1:28 PM Roy Cohen <roy_co...@hotmail.com> wrote:
> 
>> To quote:
>> 
>> “This functionality isn't supported, and while it may be technically
>> feasible to implement I'm not sure how much sense it makes overall.”
>> 
>> On 27 Mar 2023, at 19:16, Justin Bertram <jbert...@apache.org> wrote:
>> 
>> I'm not sure where I may have indicated that either one of those things
>> isn't supported.
>> 
>> In any case, you can do either.
>> 
>> 
>> Justin
>> 
>> On Mon, Mar 27, 2023 at 1:07 PM Roy Cohen <roy_co...@hotmail.com> wrote:
>> 
>>> Just to be clear: When you say “isn’t supported” do you mean a third
>>> broker or co located backups when running each broker on its own VM ?
>>> 
>>>> On 27 Mar 2023, at 19:04, Roy Cohen <roy_co...@hotmail.com> wrote:
>>>> 
>>>> Will do Justin and many thanks for all the additional details which I
>>> will certainly bring forward internally, much appreciated
>>>> 
>>>> On 27 Mar 2023, at 18:58, Justin Bertram <jbert...@apache.org> wrote:
>>>> 
>>>> I recently added a new section to the clustering documentation
>> regarding
>>>> things to keep in mind regarding performance [1].
>>>> 
>>>> Also, it's worth noting that often the bottleneck in messaging is not
>> the
>>>> broker itself but rather the consumer(s). It might be worth ensuring
>> that
>>>> the bottleneck really is the broker. As noted in the new documentation
>>> [1],
>>>> adding brokers to a cluster can actually *reduce* throughput in certain
>>>> circumstances.
>>>> 
>>>> Let me know if using group-name works for you.
>>>> 
>>>> 
>>>> Justin
>>>> 
>>>> [1]
>>>> 
>>> 
>> https://github.com/apache/activemq-artemis/blob/main/docs/user-manual/en/clusters.md#performance-considerations
>>>> 
>>>> On Mon, Mar 27, 2023 at 12:44 PM Roy Cohen <roy_co...@hotmail.com>
>>> wrote:
>>>> 
>>>>> I haven’t tried he group-name yet.
>>>>> 
>>>>> With regards to the third broker: The architects believe it’ll improve
>>>>> performance given the amount of messages the brokers need to process
>> (in
>>>>> other words “throw more resources at it…”)
>>>>> 
>>>>> 
>>>>>> On 27 Mar 2023, at 18:28, Justin Bertram <jbert...@apache.org> wrote:
>>>>>> 
>>>>>>> What would you suggest is to do ?
>>>>>> 
>>>>>> Did you try my previous suggestion already (i.e. using the
>> "group-name"
>>>>>> element in the "master" or "slave" element of "colocated")?
>>>>>> 
>>>>>> Aside from that, do you know why you were asked to add another broker?
>>>>>> Depending on the reason it may not be a good solution.
>>>>>> 
>>>>>> 
>>>>>> Justin
>>>>>> 
>>>>>> On Mon, Mar 27, 2023 at 12:07 PM Roy Cohen <roy_co...@hotmail.com>
>>>>> wrote:
>>>>>> 
>>>>>>> Hi Justin
>>>>>>> 
>>>>>>> It is a good question I honestly don’t have the answer for. I
>>> inherited
>>>>>>> this configuration and was asked to add a third broker and to ensure
>>>>> the co
>>>>>>> located backups are being done in such a way that each broker points
>>> on
>>>>>>> another. Perhaps those who asked for it don’t fully understand
>> Artemis
>>>>> ! :)
>>>>>>> 
>>>>>>> That said, those co located backup on the existing setup with two
>>>>> brokers
>>>>>>> do work as we have been enabled to recover lost messages in the past.
>>> So
>>>>>>> even not optimal, technically it does work ?
>>>>>>> 
>>>>>>> I can only imagine that those who initially designed it about 5 years
>>>>> ago
>>>>>>> did not use a shared storage to avoid latency.
>>>>>>> 
>>>>>>> What would you suggest is to do ?
>>>>>>> 
>>>>>>> On 27 Mar 2023, at 18:00, Justin Bertram <jbert...@apache.org>
>> wrote:
>>>>>>> 
>>>>>>> Your screenshot didn't come through the list.
>>>>>>> 
>>>>>>> In any case, I'm pretty confused at this point. You're clearly using
>> a
>>>>>>> colocated configuration that will request a backup from another
>> broker
>>>>> in
>>>>>>> the cluster, but you say you're not running multiple brokers in the
>>> same
>>>>>>> JVM. If you aren't running multiple brokers in the same JVM then what
>>>>> are
>>>>>>> you using the colocated configuration for? The whole point of the
>>>>> colocated
>>>>>>> configuration is to run multiple brokers in the same JVM (i.e. a
>>> primary
>>>>>>> broker and also a backup broker for another primary in the cluster).
>>>>>>> 
>>>>>>> 
>>>>>>> Justin
>>>>>>> 
>>>>>>> On Mon, Mar 27, 2023 at 11:42 AM Roy Cohen <roy_co...@hotmail.com>
>>>>> wrote:
>>>>>>> 
>>>>>>>> I don’t believe we are.
>>>>>>>> 
>>>>>>>> So assume three Virtual Machines on Azure.
>>>>>>>> 
>>>>>>>> Each VM runs one Artemis broker
>>>>>>>> 
>>>>>>>> 
>>>>>>>> All of their ha policy section on all three brokers look like that:
>>>>>>>> 
>>>>>>>> <ha-policy>
>>>>>>>>  <replication>
>>>>>>>>    <colocated>
>>>>>>>>      <max-backups>1</max-backups>
>>>>>>>>      <request-backup>true</request-backup>
>>>>>>>> 
>>>>>>>> <backup-request-retry-interval>1000</backup-request-retry-interval>
>>>>>>>>      <excludes>
>>>>>>>>        <connector-ref>my-connector</connector-ref>
>>>>>>>>        <connector-ref>thishostname.mydomain</connector-ref>
>>>>>>>>      </excludes>
>>>>>>>>      <master>
>>>>>>>>        <check-for-live-server>true</check-for-live-server>
>>>>>>>>      </master>
>>>>>>>>      <slave>
>>>>>>>>        <allow-failback>true</allow-failback>
>>>>>>>>        <restart-backup>true</restart-backup>
>>>>>>>>        <scale-down/>
>>>>>>>>      </slave>
>>>>>>>>    </colocated>
>>>>>>>>  </replication>
>>>>>>>> </ha-policy>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 27 Mar 2023, at 17:26, Justin Bertram <jbert...@apache.org>
>>> wrote:
>>>>>>>> 
>>>>>>>> We are not running multiple brokers on the same JVM but a single
>>>>> instance
>>>>>>>> 
>>>>>>>> per VM, so each one has a dedicated JVM and VM
>>>>>>>> 
>>>>>>>> Based on your previous message I was under the impression you were
>>>>> using
>>>>>>>> the "colocated" feature. *If* you're using this then you definitely
>>> are
>>>>>>>> running multiple brokers in the same JVM because that's precisely
>>> what
>>>>>>> that
>>>>>>>> feature does. It runs a primary and a backup broker in the *same
>>> JVM*.
>>>>> If
>>>>>>>> you aren't using a "colocated" configuration then I'm not sure what
>>> the
>>>>>>>> original question is about. Can you clarify?
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Justin
>>>>>>>> 
>>>>>>>> On Mon, Mar 27, 2023 at 11:07 AM Roy Cohen <roy_co...@hotmail.com>
>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> Hi Justin
>>>>>>>> 
>>>>>>>> Thank you for your input.
>>>>>>>> 
>>>>>>>> Sorry, should have been clearer on our setup - We are not running
>>>>>>> multiple
>>>>>>>> brokers on the same JVM but a single instance per VM, so each one
>>> has a
>>>>>>>> dedicated JVM and VM
>>>>>>>> 
>>>>>>>> Thanks
>>>>>>>> Roy
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 27 Mar 2023, at 16:59, Justin Bertram <jbert...@apache.org>
>>> wrote:
>>>>>>>> 
>>>>>>>> I'm not entirely sure if the configuration you want is possible. You
>>>>>>>> 
>>>>>>>> might
>>>>>>>> 
>>>>>>>> try using the "group-name" element in the "master" or "slave"
>> element
>>>>> of
>>>>>>>> "colocated." Only servers with the same group-name will pair
>>> together.
>>>>>>>> 
>>>>>>>> Aside from that I would actually recommend against using colocated
>>>>>>>> 
>>>>>>>> brokers.
>>>>>>>> 
>>>>>>>> The original use-case for this functionality was very early cloud
>>>>>>>> infrastructure where durable, attached storage was not readily
>>>>> available.
>>>>>>>> However, since then most (if not all) cloud environments support
>>>>> durable
>>>>>>>> storage separate from the broker so that if the broker goes down a
>>> new,
>>>>>>>> identical broker can be spun-up relatively quickly and attached to
>>> the
>>>>>>>> 
>>>>>>>> same
>>>>>>>> 
>>>>>>>> storage. This provides functional high availability without the need
>>>>> for
>>>>>>>> any idle backups or replication of any kind which functionally
>>>>> nullifies
>>>>>>>> this feature.
>>>>>>>> 
>>>>>>>> Additionally, it turns out that (surprise!) configuring & running
>>>>>>>> 
>>>>>>>> multiple
>>>>>>>> 
>>>>>>>> brokers in the same JVM is difficult and error-prone not to mention
>>> the
>>>>>>>> complication of dynamically coordinating the acquisition of backups
>>> in
>>>>> a
>>>>>>>> running cluster and protecting against split-brain.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Justin
>>>>>>>> 
>>>>>>>> On Thu, Mar 23, 2023 at 7:37 AM Roy Cohen <roy_co...@hotmail.com>
>>>>> wrote:
>>>>>>>> 
>>>>>>>> Hello everyone
>>>>>>>> 
>>>>>>>> We have a setup of three Artemis brokers (very old version don’t ask
>>>>> :))
>>>>>>>> 
>>>>>>>> We would like to configure the co located backups such that the
>>> backups
>>>>>>>> are sent in this order:
>>>>>>>> 
>>>>>>>> Broker01 -> Broker02
>>>>>>>> Broker02 -> Broker03
>>>>>>>> Broker03 -> Broker01
>>>>>>>> 
>>>>>>>> 
>>>>>>>> I was reading on co located backups here:
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>> 
>>> 
>> https://activemq.apache.org/components/artemis/documentation/1.0.0/ha.html
>>>>>>>> 
>>>>>>>> however not sure I fully understand how to configure the xml section
>>> to
>>>>>>>> achieve that.
>>>>>>>> 
>>>>>>>> Shall I add excludes in each broker, i.e.
>>>>>>>> 
>>>>>>>> <colocated>
>>>>>>>> <excludes>
>>>>>>>>    <connector-ref>...</connector-ref>
>>>>>>>> </excludes>
>>>>>>>> 
>>>>>>>> Any help would be appreciated.
>>>>>>>> 
>>>>>>>> Many thanks in advance !
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>>> 
>>> 
>> 

Reply via email to