You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by rssah <77...@gmail.com> on 2020/01/29 14:24:11 UTC

Questions regarding Data Availability/Replication. @Ignite Team, please answer as it's important for us.

Scenario:

Datacenter 1 (Main) -> One Application Server (Client Node CN1) and One DB
Server (Server Node SN1).

Datacenter 2 (Recovery) -> One Application Server (Client Node CN2) and One
DB Server (Server Node SN2).

Usually all the user requests go to CN1 but not CN2. So, technically we will
not run CN2. So forget about CN2. Will tell why it's used later.

So there are three nodes here running -> CN1, SN1, SN2.

Question 1:

I don't use Apache Ignite for cache purpose, but we will use it for disk
persistent storage. And we don't need Ignite for partitioning data (we will
think about it later). Now, how to make sure that the data that is being
stored in SN1 will be replicated to SN2. We want SN2 to be backup node for
SN1. Is that possible? If so, how?

Conditions:

1. CN1 will not make connections to SN2.
2. SN1 and SN2 link will be very fragile and of less bandwidth. Usually,
both will be in different network segments.

Question 2:

Let's say SN1 is down. Now will the queries automatically reach SN2 without
doing anything? And if SN1 is restarted, can we expect the queries to reach
SN1 instead of SN2, as CN1 - SN2 link is slow?

Question 3 :

After a few months, we will flip the entire setup, making DC2 as Main and
DC1 as Recovery. In this case, CN2 will make connections to SN2 and CN1 will
not be running. How to quickly switch so that SN2 is replicated almost with
SN1 and be ready to serve requests from CN2?



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

Re: Questions regarding Data Availability/Replication. @Ignite Team, please answer as it's important for us.

Posted by Evgenii Zhuravlev <e....@gmail.com>.
Hi,

The easiest solution that can be used here is just to have 2 server nodes
in one cluster, make sure that all primary partitions will be on the SN1
only(it can be done using affinity function). Caches should be configured
as Replicated and SN2 will have backups for everything. However, if you
have a bad(or even fragile) connection between nodes, it can affect a
performance in case of losing connection. I think you can try it with
PRIMARY_SYNC caches. As for question 2, yes, after SN1 will be down, SN2
will be used for all queries and after SN1  will be returned, it will
become a primary node again.

Alternatively, you can manage it on the application side by having 2
separate clusters, or use something else, like Kafka streamer or GridGain
DR. More information about all approaches can be found in this webinar:
https://www.youtube.com/watch?v=lbLyy_vZfsA
<https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=14&ved=2ahUKEwiUgP6OxaznAhVTu54KHYWQC-oQFjANegQIAhAB&url=https%3A%2F%2Fwww.imcsummit.org%2F2019%2Fus%2Fsites%2F2019.us%2Ffiles%2Fslides%2Fdr-imcs.pdf&usg=AOvVaw3Omzy0SZKCR7ZfXxULaJk8>

Best Regards,
Evgenii

ср, 29 янв. 2020 г. в 06:24, rssah <77...@gmail.com>:

> Scenario:
>
> Datacenter 1 (Main) -> One Application Server (Client Node CN1) and One DB
> Server (Server Node SN1).
>
> Datacenter 2 (Recovery) -> One Application Server (Client Node CN2) and One
> DB Server (Server Node SN2).
>
> Usually all the user requests go to CN1 but not CN2. So, technically we
> will
> not run CN2. So forget about CN2. Will tell why it's used later.
>
> So there are three nodes here running -> CN1, SN1, SN2.
>
> Question 1:
>
> I don't use Apache Ignite for cache purpose, but we will use it for disk
> persistent storage. And we don't need Ignite for partitioning data (we will
> think about it later). Now, how to make sure that the data that is being
> stored in SN1 will be replicated to SN2. We want SN2 to be backup node for
> SN1. Is that possible? If so, how?
>
> Conditions:
>
> 1. CN1 will not make connections to SN2.
> 2. SN1 and SN2 link will be very fragile and of less bandwidth. Usually,
> both will be in different network segments.
>
> Question 2:
>
> Let's say SN1 is down. Now will the queries automatically reach SN2 without
> doing anything? And if SN1 is restarted, can we expect the queries to reach
> SN1 instead of SN2, as CN1 - SN2 link is slow?
>
> Question 3 :
>
> After a few months, we will flip the entire setup, making DC2 as Main and
> DC1 as Recovery. In this case, CN2 will make connections to SN2 and CN1
> will
> not be running. How to quickly switch so that SN2 is replicated almost with
> SN1 and be ready to serve requests from CN2?
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>