Implementing HA among Ignite Clusters

classic Classic list List threaded Threaded
5 messages Options
Naveen Naveen
Reply | Threaded
Open this post in threaded view
|

Implementing HA among Ignite Clusters

Hi All

We have 2 clusters (Primary and secondary)  running and both are always in
sync from data perspective.
Always consumers are using Primary only, but when primary is not reachable,
it should get redirected to secondary cluster How can this be achieved ?

1. Can we do anything on the cluster side which will take care of this, like
with config changes on the primary cluster like changing the connecton
string etc.
Like some of the messaging products uses connection URLs like
tcp://server1||tco://server2
something like this, if server1 is not reachable, it will get routed to
server2.
Somehing like this can be done here ?
2. DOing this from consumer side only, as and when they get exceptions like
disconnect etc, try connecting it to secondary and vice versa

What are the options we have for this scenario

Thanks
Naveen



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Alexandr Shapkin Alexandr Shapkin
Reply | Threaded
Open this post in threaded view
|

RE: Implementing HA among Ignite Clusters

Hi,

 

I don’t think that ignite support this out of the box, cause data replication is something beyond the default distribution. The usage depends on how your data is replicated, whether you want active-active synchronization, and so on.

 

But if it’s about switching from one cluster to another, and always using a single cluster at a time, something like dynamic DNS

or a custom load balancer should work here. I.e. you can configure your consumers to access domain my.cluster.com that resolves to the primary cluster, IP=192.168.1.1. When you want to switch the load, you can adjust your DNS to resolve the name

to, say, IP=192.168.1.13 which means the secondary one. This approach has some drawbacks but is quite simple to use and straightforward.

 

From: [hidden email]
Sent: Sunday, December 6, 2020 2:47 PM
To: [hidden email]
Subject: Implementing HA among Ignite Clusters

 

Hi All

 

We have 2 clusters (Primary and secondary)  running and both are always in

sync from data perspective.

Always consumers are using Primary only, but when primary is not reachable,

it should get redirected to secondary cluster How can this be achieved ?

 

1. Can we do anything on the cluster side which will take care of this, like

with config changes on the primary cluster like changing the connecton

string etc.

Like some of the messaging products uses connection URLs like

tcp://server1||tco://server2

something like this, if server1 is not reachable, it will get routed to

server2.

Somehing like this can be done here ?

2. DOing this from consumer side only, as and when they get exceptions like

disconnect etc, try connecting it to secondary and vice versa

 

What are the options we have for this scenario

 

Thanks

Naveen

 

 

 

--

Sent from: http://apache-ignite-users.70518.x6.nabble.com/

 

Alex Shapkin
dmagda dmagda
Reply | Threaded
Open this post in threaded view
|

Re: Implementing HA among Ignite Clusters

This DR feature is what you are looking for, complete solution: https://www.gridgain.com/docs/latest/administrators-guide/data-center-replication/introduction

On Sunday, December 6, 2020, Alexandr Shapkin <[hidden email]> wrote:

Hi,

 

I don’t think that ignite support this out of the box, cause data replication is something beyond the default distribution. The usage depends on how your data is replicated, whether you want active-active synchronization, and so on.

 

But if it’s about switching from one cluster to another, and always using a single cluster at a time, something like dynamic DNS

or a custom load balancer should work here. I.e. you can configure your consumers to access domain my.cluster.com that resolves to the primary cluster, IP=192.168.1.1. When you want to switch the load, you can adjust your DNS to resolve the name

to, say, IP=192.168.1.13 which means the secondary one. This approach has some drawbacks but is quite simple to use and straightforward.

 

From: [hidden email]
Sent: Sunday, December 6, 2020 2:47 PM
To: [hidden email]
Subject: Implementing HA among Ignite Clusters

 

Hi All

 

We have 2 clusters (Primary and secondary)  running and both are always in

sync from data perspective.

Always consumers are using Primary only, but when primary is not reachable,

it should get redirected to secondary cluster How can this be achieved ?

 

1. Can we do anything on the cluster side which will take care of this, like

with config changes on the primary cluster like changing the connecton

string etc.

Like some of the messaging products uses connection URLs like

tcp://server1||tco://server2

something like this, if server1 is not reachable, it will get routed to

server2.

Somehing like this can be done here ?

2. DOing this from consumer side only, as and when they get exceptions like

disconnect etc, try connecting it to secondary and vice versa

 

What are the options we have for this scenario

 

Thanks

Naveen

 

 

 

--

Sent from: http://apache-ignite-users.70518.x6.nabble.com/

 



--
-
Denis

Naveen Naveen
Reply | Threaded
Open this post in threaded view
|

RE: Implementing HA among Ignite Clusters

In reply to this post by Alexandr Shapkin
HI
We have no issue with the data replication, we do have feeder services
feeding data into multiple clusters real time.
And, we are going to have active active set up only, but secondary is only
used in case primary has any issues.
At the moment, consumers use the full connection string like
CL1-1:p1,CL1-2:p1,CL1-3:p1 (CL1 for cluster) for primary and
CL2-1:p1,CL2-2:p1, CL2-3:p1 for secondary.
Dynamic DNS may work well for single server like you configure
my.cluster.com to resolve  CL1-1 when everything is fine and then to CL2-1
if CL1-1 is not reachable. But this might cause an issue, if server CL1-1
node is down, but the cluster is still up and running, but still requests
are getting routed to secondary right. DNS only resolve for single IP right,
not the whole cluster connection string.
Am I making sense here, hope I am making it clear.

Any, well known load balancers used here for achieving HA between the
clusters in active active setup.

Thanks
Naveen



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Naveen Naveen
Reply | Threaded
Open this post in threaded view
|

RE: Implementing HA among Ignite Clusters

In reply to this post by Alexandr Shapkin
Hi Alex

This got ignored for a while
But the known drawbacks of this approach, can you please let me know as I
need to finalize an approach on how to route requests to secondary site if
primary is not in working condition etc

Thanks




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/