You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Brett Delle Grazie <br...@gmail.com> on 2017/05/24 08:59:56 UTC

Artemis - 2 node cluster with HA with replication, colocation

Hi,

I'm trying to build a 2 cluster with colocated backups and replication (not
shared store). In my particular case I need to use static definitions
rather than UDP or JGroups. These are vagrant instances not real. We are
dealing with persistent messages and are attempting to minimise the risk of
message loss.

I have two questions:
1) Do I need to explicitly add the connectors for the co-located JVMs to
the list of connectors? if so, should they also be added to the
cluster-connections/static_connectors section as well?
2) ha-policy/replication/colocated/excludes - am I excluding the right
things here? I've followed the 'scale-down' example but I'm not sure this
is right in this case and the documentation around excludes is somewhat
confusing.

If there's any other advice / recommendations people have regarding a setup
like this, please feel free.

Thanks in advance,

Brett

Node-1:
      <acceptors>
         <acceptor name="invm-acceptor">vm://0</acceptor>
         <acceptor name="netty-acceptor">tcp://
0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
</acceptor>
      </acceptors>

      <connectors>
         <connector name="invm-connector">vm://0</connector>
         <connector name="node-1-connector">tcp://172.28.128.3:61616
</connector>
         <connector name="node-2-connector">tcp://172.28.128.4:61616
</connector>
      </connectors>
      <cluster-connections>
         <cluster-connection name="vagrant">
            <address>jms</address>
            <connector-ref>node-1-connector</connector-ref>
            <static-connectors>
               <connector-ref>node-1-connector</connector-ref>
               <connector-ref>node-2-connector</connector-ref>
            </static-connectors>
         </cluster-connection>
      </cluster-connections>
      <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>invm-connector</connector-ref>
                  <connector-ref>node-1-connector</connector-ref>
                  <!-- <connector-ref>node-2-connector</connector-ref> -->
               </excludes>
               <master>
                 <check-for-live-server>true</check-for-live-server>
               </master>
               <slave>
                 <allow-failback>true</allow-failback>
               </slave>
            </colocated>
         </replication>
      </ha-policy>

Node 2:
      <acceptors>
         <acceptor name="invm-acceptor">vm://0</acceptor>
         <acceptor name="netty-acceptor">tcp://
0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
</acceptor>
      </acceptors>

      <cluster-user>cluster</cluster-user>
      <cluster-password>cluster</cluster-password>

      <connectors>
         <connector name="invm-connector">vm://0</connector>
         <connector name="node-1-connector">tcp://172.28.128.3:61616
</connector>
         <connector name="node-2-connector">tcp://172.28.128.4:61616
</connector>
      </connectors>
      <cluster-connections>
         <cluster-connection name="vagrant">
            <address>jms</address>
            <connector-ref>node-2-connector</connector-ref>
            <static-connectors>
               <connector-ref>node-1-connector</connector-ref>
               <connector-ref>node-2-connector</connector-ref>
            </static-connectors>
         </cluster-connection>
      </cluster-connections>
      <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>invm-connector</connector-ref>
                  <!-- <connector-ref>node-1-connector</connector-ref> -->
                  <connector-ref>node-2-connector</connector-ref>
               </excludes>
               <master>
                 <check-for-live-server>true</check-for-live-server>
               </master>
               <slave>
                 <allow-failback>true</allow-failback>
               </slave>
            </colocated>
         </replication>
      </ha-policy>



-- 
Kind regards,

Brett Delle Grazie

Re: Artemis - 2 node cluster with HA with replication, colocation

Posted by Brett Delle Grazie <br...@gmail.com>.
Does anyone have any insight into my questions below please?

Thanks.
Brett
On 24 May 2017 at 09:59, Brett Delle Grazie <br...@gmail.com>
wrote:

> Hi,
>
> I'm trying to build a 2 cluster with colocated backups and replication
> (not shared store). In my particular case I need to use static definitions
> rather than UDP or JGroups. These are vagrant instances not real. We are
> dealing with persistent messages and are attempting to minimise the risk of
> message loss.
>
> I have two questions:
> 1) Do I need to explicitly add the connectors for the co-located JVMs to
> the list of connectors? if so, should they also be added to the
> cluster-connections/static_connectors section as well?
> 2) ha-policy/replication/colocated/excludes - am I excluding the right
> things here? I've followed the 'scale-down' example but I'm not sure this
> is right in this case and the documentation around excludes is somewhat
> confusing.
>
> If there's any other advice / recommendations people have regarding a
> setup like this, please feel free.
>
> Thanks in advance,
>
> Brett
>
> Node-1:
>       <acceptors>
>          <acceptor name="invm-acceptor">vm://0</acceptor>
>          <acceptor name="netty-acceptor">tcp://0.
> 0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
> </acceptor>
>       </acceptors>
>
>       <connectors>
>          <connector name="invm-connector">vm://0</connector>
>          <connector name="node-1-connector">tcp://172.28.128.3:61616
> </connector>
>          <connector name="node-2-connector">tcp://172.28.128.4:61616
> </connector>
>       </connectors>
>       <cluster-connections>
>          <cluster-connection name="vagrant">
>             <address>jms</address>
>             <connector-ref>node-1-connector</connector-ref>
>             <static-connectors>
>                <connector-ref>node-1-connector</connector-ref>
>                <connector-ref>node-2-connector</connector-ref>
>             </static-connectors>
>          </cluster-connection>
>       </cluster-connections>
>       <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>invm-connector</connector-ref>
>                   <connector-ref>node-1-connector</connector-ref>
>                   <!-- <connector-ref>node-2-connector</connector-ref> -->
>                </excludes>
>                <master>
>                  <check-for-live-server>true</check-for-live-server>
>                </master>
>                <slave>
>                  <allow-failback>true</allow-failback>
>                </slave>
>             </colocated>
>          </replication>
>       </ha-policy>
>
> Node 2:
>       <acceptors>
>          <acceptor name="invm-acceptor">vm://0</acceptor>
>          <acceptor name="netty-acceptor">tcp://0.
> 0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
> </acceptor>
>       </acceptors>
>
>       <cluster-user>cluster</cluster-user>
>       <cluster-password>cluster</cluster-password>
>
>       <connectors>
>          <connector name="invm-connector">vm://0</connector>
>          <connector name="node-1-connector">tcp://172.28.128.3:61616
> </connector>
>          <connector name="node-2-connector">tcp://172.28.128.4:61616
> </connector>
>       </connectors>
>       <cluster-connections>
>          <cluster-connection name="vagrant">
>             <address>jms</address>
>             <connector-ref>node-2-connector</connector-ref>
>             <static-connectors>
>                <connector-ref>node-1-connector</connector-ref>
>                <connector-ref>node-2-connector</connector-ref>
>             </static-connectors>
>          </cluster-connection>
>       </cluster-connections>
>       <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>invm-connector</connector-ref>
>                   <!-- <connector-ref>node-1-connector</connector-ref> -->
>                   <connector-ref>node-2-connector</connector-ref>
>                </excludes>
>                <master>
>                  <check-for-live-server>true</check-for-live-server>
>                </master>
>                <slave>
>                  <allow-failback>true</allow-failback>
>                </slave>
>             </colocated>
>          </replication>
>       </ha-policy>
>
>
>
> --
> Kind regards,
>
> Brett Delle Grazie
>



-- 
Kind regards,

Brett Delle Grazie

Re: Artemis - 2 node cluster with HA with replication, colocation

Posted by Clebert Suconic <cl...@gmail.com>.
BTW: I'm working on improving the core client on failover as we speak
now.. keep in touch :)

On Thu, May 25, 2017 at 11:39 AM, Clebert Suconic
<cl...@gmail.com> wrote:
> You can also achieve colocated using two different JVMs on each box.
>
> On Thu, May 25, 2017 at 11:39 AM, Clebert Suconic
> <cl...@gmail.com> wrote:
>> On Thu, May 25, 2017 at 10:24 AM, Brett Delle Grazie
>> <br...@gmail.com> wrote:
>>> Clebert,
>>>
>>> Thank you for your response.
>>>
>>> I take it you're suggesting I switch the configuration to a replicated
>>> master/slave H/A pair rather than trying to use colocation and in JVM
>>> backups?
>>
>> actually no.. I was referring to use Netty versus InVM on connections
>> to your clients...
>>
>>
>> From the point of view of the client it's always backup/live pair...
>> colocated is just an exchange .. quid pro quo.. you're my backup and
>> I'm live on another port... nothing special about it.
>>
>>
>>
>>>
>>> With respect to my original questions though (assuming I want to prepare
>>> the tests):
>>> Should I explicitly add the backup connectors to the connectors list and
>>> also the static connectors list in the cluster configuration?
>>> Is the "exclusions" list correct?
>>
>>
>> I'm confused on what you're asking here... the usage is quite simple..
>> so I don't know what's missing..
>>>
>>> Thanks,
>>>
>>> Brett
>>>
>>> On 25 May 2017 at 14:35, Clebert Suconic <cl...@gmail.com> wrote:
>>>
>>>> It's really hard for us to test every single combinations of usage...
>>>>
>>>>
>>>> If you really want to use a local inVM, with a backup on a netty
>>>> connection.. that *should* work... but I'm not aware of any tests on
>>>> that direction... I haven't seen anyone testing that. Not on our
>>>> testsuite.. nor anywhere else I have looked.
>>>>
>>>>
>>>> So, if you could use HA with a Netty connection.. live/backup as
>>>> Netty.. it's probably best..
>>>>
>>>>
>>>>
>>>> Although, if you really want the InVM for any reason (Netty will be
>>>> really fast enough already), you may test.. and even contribute tests
>>>> to our testsuite if you like.
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, May 24, 2017 at 4:59 AM, Brett Delle Grazie
>>>> <br...@gmail.com> wrote:
>>>> > Hi,
>>>> >
>>>> > I'm trying to build a 2 cluster with colocated backups and replication
>>>> (not
>>>> > shared store). In my particular case I need to use static definitions
>>>> > rather than UDP or JGroups. These are vagrant instances not real. We are
>>>> > dealing with persistent messages and are attempting to minimise the risk
>>>> of
>>>> > message loss.
>>>> >
>>>> > I have two questions:
>>>> > 1) Do I need to explicitly add the connectors for the co-located JVMs to
>>>> > the list of connectors? if so, should they also be added to the
>>>> > cluster-connections/static_connectors section as well?
>>>> > 2) ha-policy/replication/colocated/excludes - am I excluding the right
>>>> > things here? I've followed the 'scale-down' example but I'm not sure this
>>>> > is right in this case and the documentation around excludes is somewhat
>>>> > confusing.
>>>> >
>>>> > If there's any other advice / recommendations people have regarding a
>>>> setup
>>>> > like this, please feel free.
>>>> >
>>>> > Thanks in advance,
>>>> >
>>>> > Brett
>>>> >
>>>> > Node-1:
>>>> >       <acceptors>
>>>> >          <acceptor name="invm-acceptor">vm://0</acceptor>
>>>> >          <acceptor name="netty-acceptor">tcp://
>>>> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
>>>> > </acceptor>
>>>> >       </acceptors>
>>>> >
>>>> >       <connectors>
>>>> >          <connector name="invm-connector">vm://0</connector>
>>>> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
>>>> > </connector>
>>>> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
>>>> > </connector>
>>>> >       </connectors>
>>>> >       <cluster-connections>
>>>> >          <cluster-connection name="vagrant">
>>>> >             <address>jms</address>
>>>> >             <connector-ref>node-1-connector</connector-ref>
>>>> >             <static-connectors>
>>>> >                <connector-ref>node-1-connector</connector-ref>
>>>> >                <connector-ref>node-2-connector</connector-ref>
>>>> >             </static-connectors>
>>>> >          </cluster-connection>
>>>> >       </cluster-connections>
>>>> >       <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>invm-connector</connector-ref>
>>>> >                   <connector-ref>node-1-connector</connector-ref>
>>>> >                   <!-- <connector-ref>node-2-connector</connector-ref>
>>>> -->
>>>> >                </excludes>
>>>> >                <master>
>>>> >                  <check-for-live-server>true</check-for-live-server>
>>>> >                </master>
>>>> >                <slave>
>>>> >                  <allow-failback>true</allow-failback>
>>>> >                </slave>
>>>> >             </colocated>
>>>> >          </replication>
>>>> >       </ha-policy>
>>>> >
>>>> > Node 2:
>>>> >       <acceptors>
>>>> >          <acceptor name="invm-acceptor">vm://0</acceptor>
>>>> >          <acceptor name="netty-acceptor">tcp://
>>>> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
>>>> > </acceptor>
>>>> >       </acceptors>
>>>> >
>>>> >       <cluster-user>cluster</cluster-user>
>>>> >       <cluster-password>cluster</cluster-password>
>>>> >
>>>> >       <connectors>
>>>> >          <connector name="invm-connector">vm://0</connector>
>>>> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
>>>> > </connector>
>>>> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
>>>> > </connector>
>>>> >       </connectors>
>>>> >       <cluster-connections>
>>>> >          <cluster-connection name="vagrant">
>>>> >             <address>jms</address>
>>>> >             <connector-ref>node-2-connector</connector-ref>
>>>> >             <static-connectors>
>>>> >                <connector-ref>node-1-connector</connector-ref>
>>>> >                <connector-ref>node-2-connector</connector-ref>
>>>> >             </static-connectors>
>>>> >          </cluster-connection>
>>>> >       </cluster-connections>
>>>> >       <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>invm-connector</connector-ref>
>>>> >                   <!-- <connector-ref>node-1-connector</connector-ref>
>>>> -->
>>>> >                   <connector-ref>node-2-connector</connector-ref>
>>>> >                </excludes>
>>>> >                <master>
>>>> >                  <check-for-live-server>true</check-for-live-server>
>>>> >                </master>
>>>> >                <slave>
>>>> >                  <allow-failback>true</allow-failback>
>>>> >                </slave>
>>>> >             </colocated>
>>>> >          </replication>
>>>> >       </ha-policy>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Kind regards,
>>>> >
>>>> > Brett Delle Grazie
>>>>
>>>>
>>>>
>>>> --
>>>> Clebert Suconic
>>>>
>>>
>>>
>>>
>>> --
>>> Kind regards,
>>>
>>> Brett Delle Grazie
>>
>>
>>
>> --
>> Clebert Suconic
>
>
>
> --
> Clebert Suconic



-- 
Clebert Suconic

Re: Artemis - 2 node cluster with HA with replication, colocation

Posted by Clebert Suconic <cl...@gmail.com>.
You can also achieve colocated using two different JVMs on each box.

On Thu, May 25, 2017 at 11:39 AM, Clebert Suconic
<cl...@gmail.com> wrote:
> On Thu, May 25, 2017 at 10:24 AM, Brett Delle Grazie
> <br...@gmail.com> wrote:
>> Clebert,
>>
>> Thank you for your response.
>>
>> I take it you're suggesting I switch the configuration to a replicated
>> master/slave H/A pair rather than trying to use colocation and in JVM
>> backups?
>
> actually no.. I was referring to use Netty versus InVM on connections
> to your clients...
>
>
> From the point of view of the client it's always backup/live pair...
> colocated is just an exchange .. quid pro quo.. you're my backup and
> I'm live on another port... nothing special about it.
>
>
>
>>
>> With respect to my original questions though (assuming I want to prepare
>> the tests):
>> Should I explicitly add the backup connectors to the connectors list and
>> also the static connectors list in the cluster configuration?
>> Is the "exclusions" list correct?
>
>
> I'm confused on what you're asking here... the usage is quite simple..
> so I don't know what's missing..
>>
>> Thanks,
>>
>> Brett
>>
>> On 25 May 2017 at 14:35, Clebert Suconic <cl...@gmail.com> wrote:
>>
>>> It's really hard for us to test every single combinations of usage...
>>>
>>>
>>> If you really want to use a local inVM, with a backup on a netty
>>> connection.. that *should* work... but I'm not aware of any tests on
>>> that direction... I haven't seen anyone testing that. Not on our
>>> testsuite.. nor anywhere else I have looked.
>>>
>>>
>>> So, if you could use HA with a Netty connection.. live/backup as
>>> Netty.. it's probably best..
>>>
>>>
>>>
>>> Although, if you really want the InVM for any reason (Netty will be
>>> really fast enough already), you may test.. and even contribute tests
>>> to our testsuite if you like.
>>>
>>>
>>>
>>>
>>> On Wed, May 24, 2017 at 4:59 AM, Brett Delle Grazie
>>> <br...@gmail.com> wrote:
>>> > Hi,
>>> >
>>> > I'm trying to build a 2 cluster with colocated backups and replication
>>> (not
>>> > shared store). In my particular case I need to use static definitions
>>> > rather than UDP or JGroups. These are vagrant instances not real. We are
>>> > dealing with persistent messages and are attempting to minimise the risk
>>> of
>>> > message loss.
>>> >
>>> > I have two questions:
>>> > 1) Do I need to explicitly add the connectors for the co-located JVMs to
>>> > the list of connectors? if so, should they also be added to the
>>> > cluster-connections/static_connectors section as well?
>>> > 2) ha-policy/replication/colocated/excludes - am I excluding the right
>>> > things here? I've followed the 'scale-down' example but I'm not sure this
>>> > is right in this case and the documentation around excludes is somewhat
>>> > confusing.
>>> >
>>> > If there's any other advice / recommendations people have regarding a
>>> setup
>>> > like this, please feel free.
>>> >
>>> > Thanks in advance,
>>> >
>>> > Brett
>>> >
>>> > Node-1:
>>> >       <acceptors>
>>> >          <acceptor name="invm-acceptor">vm://0</acceptor>
>>> >          <acceptor name="netty-acceptor">tcp://
>>> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
>>> > </acceptor>
>>> >       </acceptors>
>>> >
>>> >       <connectors>
>>> >          <connector name="invm-connector">vm://0</connector>
>>> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
>>> > </connector>
>>> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
>>> > </connector>
>>> >       </connectors>
>>> >       <cluster-connections>
>>> >          <cluster-connection name="vagrant">
>>> >             <address>jms</address>
>>> >             <connector-ref>node-1-connector</connector-ref>
>>> >             <static-connectors>
>>> >                <connector-ref>node-1-connector</connector-ref>
>>> >                <connector-ref>node-2-connector</connector-ref>
>>> >             </static-connectors>
>>> >          </cluster-connection>
>>> >       </cluster-connections>
>>> >       <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>invm-connector</connector-ref>
>>> >                   <connector-ref>node-1-connector</connector-ref>
>>> >                   <!-- <connector-ref>node-2-connector</connector-ref>
>>> -->
>>> >                </excludes>
>>> >                <master>
>>> >                  <check-for-live-server>true</check-for-live-server>
>>> >                </master>
>>> >                <slave>
>>> >                  <allow-failback>true</allow-failback>
>>> >                </slave>
>>> >             </colocated>
>>> >          </replication>
>>> >       </ha-policy>
>>> >
>>> > Node 2:
>>> >       <acceptors>
>>> >          <acceptor name="invm-acceptor">vm://0</acceptor>
>>> >          <acceptor name="netty-acceptor">tcp://
>>> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
>>> > </acceptor>
>>> >       </acceptors>
>>> >
>>> >       <cluster-user>cluster</cluster-user>
>>> >       <cluster-password>cluster</cluster-password>
>>> >
>>> >       <connectors>
>>> >          <connector name="invm-connector">vm://0</connector>
>>> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
>>> > </connector>
>>> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
>>> > </connector>
>>> >       </connectors>
>>> >       <cluster-connections>
>>> >          <cluster-connection name="vagrant">
>>> >             <address>jms</address>
>>> >             <connector-ref>node-2-connector</connector-ref>
>>> >             <static-connectors>
>>> >                <connector-ref>node-1-connector</connector-ref>
>>> >                <connector-ref>node-2-connector</connector-ref>
>>> >             </static-connectors>
>>> >          </cluster-connection>
>>> >       </cluster-connections>
>>> >       <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>invm-connector</connector-ref>
>>> >                   <!-- <connector-ref>node-1-connector</connector-ref>
>>> -->
>>> >                   <connector-ref>node-2-connector</connector-ref>
>>> >                </excludes>
>>> >                <master>
>>> >                  <check-for-live-server>true</check-for-live-server>
>>> >                </master>
>>> >                <slave>
>>> >                  <allow-failback>true</allow-failback>
>>> >                </slave>
>>> >             </colocated>
>>> >          </replication>
>>> >       </ha-policy>
>>> >
>>> >
>>> >
>>> > --
>>> > Kind regards,
>>> >
>>> > Brett Delle Grazie
>>>
>>>
>>>
>>> --
>>> Clebert Suconic
>>>
>>
>>
>>
>> --
>> Kind regards,
>>
>> Brett Delle Grazie
>
>
>
> --
> Clebert Suconic



-- 
Clebert Suconic

Re: Artemis - 2 node cluster with HA with replication, colocation

Posted by Clebert Suconic <cl...@gmail.com>.
On Thu, May 25, 2017 at 10:24 AM, Brett Delle Grazie
<br...@gmail.com> wrote:
> Clebert,
>
> Thank you for your response.
>
> I take it you're suggesting I switch the configuration to a replicated
> master/slave H/A pair rather than trying to use colocation and in JVM
> backups?

actually no.. I was referring to use Netty versus InVM on connections
to your clients...


From the point of view of the client it's always backup/live pair...
colocated is just an exchange .. quid pro quo.. you're my backup and
I'm live on another port... nothing special about it.



>
> With respect to my original questions though (assuming I want to prepare
> the tests):
> Should I explicitly add the backup connectors to the connectors list and
> also the static connectors list in the cluster configuration?
> Is the "exclusions" list correct?


I'm confused on what you're asking here... the usage is quite simple..
so I don't know what's missing..
>
> Thanks,
>
> Brett
>
> On 25 May 2017 at 14:35, Clebert Suconic <cl...@gmail.com> wrote:
>
>> It's really hard for us to test every single combinations of usage...
>>
>>
>> If you really want to use a local inVM, with a backup on a netty
>> connection.. that *should* work... but I'm not aware of any tests on
>> that direction... I haven't seen anyone testing that. Not on our
>> testsuite.. nor anywhere else I have looked.
>>
>>
>> So, if you could use HA with a Netty connection.. live/backup as
>> Netty.. it's probably best..
>>
>>
>>
>> Although, if you really want the InVM for any reason (Netty will be
>> really fast enough already), you may test.. and even contribute tests
>> to our testsuite if you like.
>>
>>
>>
>>
>> On Wed, May 24, 2017 at 4:59 AM, Brett Delle Grazie
>> <br...@gmail.com> wrote:
>> > Hi,
>> >
>> > I'm trying to build a 2 cluster with colocated backups and replication
>> (not
>> > shared store). In my particular case I need to use static definitions
>> > rather than UDP or JGroups. These are vagrant instances not real. We are
>> > dealing with persistent messages and are attempting to minimise the risk
>> of
>> > message loss.
>> >
>> > I have two questions:
>> > 1) Do I need to explicitly add the connectors for the co-located JVMs to
>> > the list of connectors? if so, should they also be added to the
>> > cluster-connections/static_connectors section as well?
>> > 2) ha-policy/replication/colocated/excludes - am I excluding the right
>> > things here? I've followed the 'scale-down' example but I'm not sure this
>> > is right in this case and the documentation around excludes is somewhat
>> > confusing.
>> >
>> > If there's any other advice / recommendations people have regarding a
>> setup
>> > like this, please feel free.
>> >
>> > Thanks in advance,
>> >
>> > Brett
>> >
>> > Node-1:
>> >       <acceptors>
>> >          <acceptor name="invm-acceptor">vm://0</acceptor>
>> >          <acceptor name="netty-acceptor">tcp://
>> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
>> > </acceptor>
>> >       </acceptors>
>> >
>> >       <connectors>
>> >          <connector name="invm-connector">vm://0</connector>
>> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
>> > </connector>
>> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
>> > </connector>
>> >       </connectors>
>> >       <cluster-connections>
>> >          <cluster-connection name="vagrant">
>> >             <address>jms</address>
>> >             <connector-ref>node-1-connector</connector-ref>
>> >             <static-connectors>
>> >                <connector-ref>node-1-connector</connector-ref>
>> >                <connector-ref>node-2-connector</connector-ref>
>> >             </static-connectors>
>> >          </cluster-connection>
>> >       </cluster-connections>
>> >       <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>invm-connector</connector-ref>
>> >                   <connector-ref>node-1-connector</connector-ref>
>> >                   <!-- <connector-ref>node-2-connector</connector-ref>
>> -->
>> >                </excludes>
>> >                <master>
>> >                  <check-for-live-server>true</check-for-live-server>
>> >                </master>
>> >                <slave>
>> >                  <allow-failback>true</allow-failback>
>> >                </slave>
>> >             </colocated>
>> >          </replication>
>> >       </ha-policy>
>> >
>> > Node 2:
>> >       <acceptors>
>> >          <acceptor name="invm-acceptor">vm://0</acceptor>
>> >          <acceptor name="netty-acceptor">tcp://
>> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
>> > </acceptor>
>> >       </acceptors>
>> >
>> >       <cluster-user>cluster</cluster-user>
>> >       <cluster-password>cluster</cluster-password>
>> >
>> >       <connectors>
>> >          <connector name="invm-connector">vm://0</connector>
>> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
>> > </connector>
>> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
>> > </connector>
>> >       </connectors>
>> >       <cluster-connections>
>> >          <cluster-connection name="vagrant">
>> >             <address>jms</address>
>> >             <connector-ref>node-2-connector</connector-ref>
>> >             <static-connectors>
>> >                <connector-ref>node-1-connector</connector-ref>
>> >                <connector-ref>node-2-connector</connector-ref>
>> >             </static-connectors>
>> >          </cluster-connection>
>> >       </cluster-connections>
>> >       <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>invm-connector</connector-ref>
>> >                   <!-- <connector-ref>node-1-connector</connector-ref>
>> -->
>> >                   <connector-ref>node-2-connector</connector-ref>
>> >                </excludes>
>> >                <master>
>> >                  <check-for-live-server>true</check-for-live-server>
>> >                </master>
>> >                <slave>
>> >                  <allow-failback>true</allow-failback>
>> >                </slave>
>> >             </colocated>
>> >          </replication>
>> >       </ha-policy>
>> >
>> >
>> >
>> > --
>> > Kind regards,
>> >
>> > Brett Delle Grazie
>>
>>
>>
>> --
>> Clebert Suconic
>>
>
>
>
> --
> Kind regards,
>
> Brett Delle Grazie



-- 
Clebert Suconic

Re: Artemis - 2 node cluster with HA with replication, colocation

Posted by Brett Delle Grazie <br...@gmail.com>.
Clebert,

Thank you for your response.

I take it you're suggesting I switch the configuration to a replicated
master/slave H/A pair rather than trying to use colocation and in JVM
backups?

With respect to my original questions though (assuming I want to prepare
the tests):
Should I explicitly add the backup connectors to the connectors list and
also the static connectors list in the cluster configuration?
Is the "exclusions" list correct?

Thanks,

Brett

On 25 May 2017 at 14:35, Clebert Suconic <cl...@gmail.com> wrote:

> It's really hard for us to test every single combinations of usage...
>
>
> If you really want to use a local inVM, with a backup on a netty
> connection.. that *should* work... but I'm not aware of any tests on
> that direction... I haven't seen anyone testing that. Not on our
> testsuite.. nor anywhere else I have looked.
>
>
> So, if you could use HA with a Netty connection.. live/backup as
> Netty.. it's probably best..
>
>
>
> Although, if you really want the InVM for any reason (Netty will be
> really fast enough already), you may test.. and even contribute tests
> to our testsuite if you like.
>
>
>
>
> On Wed, May 24, 2017 at 4:59 AM, Brett Delle Grazie
> <br...@gmail.com> wrote:
> > Hi,
> >
> > I'm trying to build a 2 cluster with colocated backups and replication
> (not
> > shared store). In my particular case I need to use static definitions
> > rather than UDP or JGroups. These are vagrant instances not real. We are
> > dealing with persistent messages and are attempting to minimise the risk
> of
> > message loss.
> >
> > I have two questions:
> > 1) Do I need to explicitly add the connectors for the co-located JVMs to
> > the list of connectors? if so, should they also be added to the
> > cluster-connections/static_connectors section as well?
> > 2) ha-policy/replication/colocated/excludes - am I excluding the right
> > things here? I've followed the 'scale-down' example but I'm not sure this
> > is right in this case and the documentation around excludes is somewhat
> > confusing.
> >
> > If there's any other advice / recommendations people have regarding a
> setup
> > like this, please feel free.
> >
> > Thanks in advance,
> >
> > Brett
> >
> > Node-1:
> >       <acceptors>
> >          <acceptor name="invm-acceptor">vm://0</acceptor>
> >          <acceptor name="netty-acceptor">tcp://
> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
> > </acceptor>
> >       </acceptors>
> >
> >       <connectors>
> >          <connector name="invm-connector">vm://0</connector>
> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
> > </connector>
> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
> > </connector>
> >       </connectors>
> >       <cluster-connections>
> >          <cluster-connection name="vagrant">
> >             <address>jms</address>
> >             <connector-ref>node-1-connector</connector-ref>
> >             <static-connectors>
> >                <connector-ref>node-1-connector</connector-ref>
> >                <connector-ref>node-2-connector</connector-ref>
> >             </static-connectors>
> >          </cluster-connection>
> >       </cluster-connections>
> >       <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>invm-connector</connector-ref>
> >                   <connector-ref>node-1-connector</connector-ref>
> >                   <!-- <connector-ref>node-2-connector</connector-ref>
> -->
> >                </excludes>
> >                <master>
> >                  <check-for-live-server>true</check-for-live-server>
> >                </master>
> >                <slave>
> >                  <allow-failback>true</allow-failback>
> >                </slave>
> >             </colocated>
> >          </replication>
> >       </ha-policy>
> >
> > Node 2:
> >       <acceptors>
> >          <acceptor name="invm-acceptor">vm://0</acceptor>
> >          <acceptor name="netty-acceptor">tcp://
> > 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
> > </acceptor>
> >       </acceptors>
> >
> >       <cluster-user>cluster</cluster-user>
> >       <cluster-password>cluster</cluster-password>
> >
> >       <connectors>
> >          <connector name="invm-connector">vm://0</connector>
> >          <connector name="node-1-connector">tcp://172.28.128.3:61616
> > </connector>
> >          <connector name="node-2-connector">tcp://172.28.128.4:61616
> > </connector>
> >       </connectors>
> >       <cluster-connections>
> >          <cluster-connection name="vagrant">
> >             <address>jms</address>
> >             <connector-ref>node-2-connector</connector-ref>
> >             <static-connectors>
> >                <connector-ref>node-1-connector</connector-ref>
> >                <connector-ref>node-2-connector</connector-ref>
> >             </static-connectors>
> >          </cluster-connection>
> >       </cluster-connections>
> >       <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>invm-connector</connector-ref>
> >                   <!-- <connector-ref>node-1-connector</connector-ref>
> -->
> >                   <connector-ref>node-2-connector</connector-ref>
> >                </excludes>
> >                <master>
> >                  <check-for-live-server>true</check-for-live-server>
> >                </master>
> >                <slave>
> >                  <allow-failback>true</allow-failback>
> >                </slave>
> >             </colocated>
> >          </replication>
> >       </ha-policy>
> >
> >
> >
> > --
> > Kind regards,
> >
> > Brett Delle Grazie
>
>
>
> --
> Clebert Suconic
>



-- 
Kind regards,

Brett Delle Grazie

Re: Artemis - 2 node cluster with HA with replication, colocation

Posted by Clebert Suconic <cl...@gmail.com>.
It's really hard for us to test every single combinations of usage...


If you really want to use a local inVM, with a backup on a netty
connection.. that *should* work... but I'm not aware of any tests on
that direction... I haven't seen anyone testing that. Not on our
testsuite.. nor anywhere else I have looked.


So, if you could use HA with a Netty connection.. live/backup as
Netty.. it's probably best..



Although, if you really want the InVM for any reason (Netty will be
really fast enough already), you may test.. and even contribute tests
to our testsuite if you like.




On Wed, May 24, 2017 at 4:59 AM, Brett Delle Grazie
<br...@gmail.com> wrote:
> Hi,
>
> I'm trying to build a 2 cluster with colocated backups and replication (not
> shared store). In my particular case I need to use static definitions
> rather than UDP or JGroups. These are vagrant instances not real. We are
> dealing with persistent messages and are attempting to minimise the risk of
> message loss.
>
> I have two questions:
> 1) Do I need to explicitly add the connectors for the co-located JVMs to
> the list of connectors? if so, should they also be added to the
> cluster-connections/static_connectors section as well?
> 2) ha-policy/replication/colocated/excludes - am I excluding the right
> things here? I've followed the 'scale-down' example but I'm not sure this
> is right in this case and the documentation around excludes is somewhat
> confusing.
>
> If there's any other advice / recommendations people have regarding a setup
> like this, please feel free.
>
> Thanks in advance,
>
> Brett
>
> Node-1:
>       <acceptors>
>          <acceptor name="invm-acceptor">vm://0</acceptor>
>          <acceptor name="netty-acceptor">tcp://
> 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
> </acceptor>
>       </acceptors>
>
>       <connectors>
>          <connector name="invm-connector">vm://0</connector>
>          <connector name="node-1-connector">tcp://172.28.128.3:61616
> </connector>
>          <connector name="node-2-connector">tcp://172.28.128.4:61616
> </connector>
>       </connectors>
>       <cluster-connections>
>          <cluster-connection name="vagrant">
>             <address>jms</address>
>             <connector-ref>node-1-connector</connector-ref>
>             <static-connectors>
>                <connector-ref>node-1-connector</connector-ref>
>                <connector-ref>node-2-connector</connector-ref>
>             </static-connectors>
>          </cluster-connection>
>       </cluster-connections>
>       <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>invm-connector</connector-ref>
>                   <connector-ref>node-1-connector</connector-ref>
>                   <!-- <connector-ref>node-2-connector</connector-ref> -->
>                </excludes>
>                <master>
>                  <check-for-live-server>true</check-for-live-server>
>                </master>
>                <slave>
>                  <allow-failback>true</allow-failback>
>                </slave>
>             </colocated>
>          </replication>
>       </ha-policy>
>
> Node 2:
>       <acceptors>
>          <acceptor name="invm-acceptor">vm://0</acceptor>
>          <acceptor name="netty-acceptor">tcp://
> 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576
> </acceptor>
>       </acceptors>
>
>       <cluster-user>cluster</cluster-user>
>       <cluster-password>cluster</cluster-password>
>
>       <connectors>
>          <connector name="invm-connector">vm://0</connector>
>          <connector name="node-1-connector">tcp://172.28.128.3:61616
> </connector>
>          <connector name="node-2-connector">tcp://172.28.128.4:61616
> </connector>
>       </connectors>
>       <cluster-connections>
>          <cluster-connection name="vagrant">
>             <address>jms</address>
>             <connector-ref>node-2-connector</connector-ref>
>             <static-connectors>
>                <connector-ref>node-1-connector</connector-ref>
>                <connector-ref>node-2-connector</connector-ref>
>             </static-connectors>
>          </cluster-connection>
>       </cluster-connections>
>       <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>invm-connector</connector-ref>
>                   <!-- <connector-ref>node-1-connector</connector-ref> -->
>                   <connector-ref>node-2-connector</connector-ref>
>                </excludes>
>                <master>
>                  <check-for-live-server>true</check-for-live-server>
>                </master>
>                <slave>
>                  <allow-failback>true</allow-failback>
>                </slave>
>             </colocated>
>          </replication>
>       </ha-policy>
>
>
>
> --
> Kind regards,
>
> Brett Delle Grazie



-- 
Clebert Suconic