0

Please consider the following topology of some organization, consisting of 4 branches (A,B,C,D). All branches are located in different geo locations and interconnected with VPN:

enter image description here

This organization using a solution based on MySQL. In order to provide High Availability and improve scalability, I considering to use MySQL Group Replication. I planning to put in each branch a database node, so all "read" operations will be performed from local node, while "write" operations will be performed on "master".

I reviewed MySQL documentation several times but I can't find a clear answer to this question: in case of VPN disconnection in some branch (e.g. database will be not connected anymore to Group), does that branch still will be able to perform "read" operations against local database node?

2 Answers 2

3

I've checked MySQL official documentation and haven't found answer on your question, then I googled for more information and found this article. So according this article it not possible to read from database, when there is no connection to master.

When you start a new server, it will try to get all the data it is missing from the other group members. It will use the configured access credentials and connect to another member fetching the missing group transactions. During this period its state will be shown as ‘RECOVERING’, and you should not preform any action on this server during this phase.

But google a bit more I found information that you in this article.

Note though that when a member leaves voluntarily, it first initiates a dynamic group reconfiguration. This triggers a procedure, where all members have to agree on the new view without the leaving server. However, if a member leaves involuntarily (for example it has stopped unexpectedly or the network connection is down) then the failure detection mechanism realizes this fact and a reconfiguration of the group is proposed, this one without the failed member. As mentioned this requires agreement from the majority of servers in the group. If the group is not able to reach agreement (for example it partitioned in such a way that there is no majority of servers online), then the system is not be able to dynamically change the configuration and as such, blocks to prevent a split-brain situation. Ultimately, this means that the administrator needs to step in and fix this.

That mean, that if your cluster loose one node it will work, but "loosed" node would be blocked to prevent a split-brain situation.

I think in your case better use standard Master-Slave replication, with this type of replication you'll able to read data from slave without any problems even without network link.

1
  • +1 for using traditional Master-Slave(SlaveSlaveSlave... ad infinitum) replication. Jun 7, 2017 at 23:54
0

I asked MySql team and received answer that in event of node disconnection, "read" operations will be available from local node.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.