Skip to content
This repository has been archived by the owner on Oct 29, 2023. It is now read-only.

Ring replication (master-master, master-master-master) #47

Closed
arhi opened this issue Jan 30, 2019 · 4 comments
Closed

Ring replication (master-master, master-master-master) #47

arhi opened this issue Jan 30, 2019 · 4 comments
Labels
enhancement help wanted Need help to either design or implement this feature low priority

Comments

@arhi
Copy link

arhi commented Jan 30, 2019

Is your feature request related to a problem? Please describe.
Deploy MASTER-MASTER or MASTER-MASTER-MASTER ring replication

Describe the solution you'd like
-> deploy MASTER-MASTER replication
dbdeployer deploy ring2 8.0.14

-> deploy MASTER-MASTER-MASTER ring replication
dbdeployer deploy ring3 8.0.14

Additional context
Adding few parameters would be cool,

  • the first that comes to mind is auto increment step
  • second one would be to auto load semi-sync plugin and set it up

Now, ring replication is not a very best option and is debatable how useful it is in the production but for testing purposes it's often needed

@datacharmer
Copy link
Owner

datacharmer commented Jan 30, 2019

Thanks for your request.
As stated in the features list, this topology has been taken out by design. As such, implementing it has low priority compared to other items in the wish list.

I am not totally against it, however, and I will consider contributions.

From a practical standpoint, it could be implemented as a variation of multi-source all-masters replication.

The syntax should be

dbdeployer deploy replication --topology=ring 8.0.15 --nodes=3 [--auto-increment-offset] 

@datacharmer datacharmer added enhancement help wanted Need help to either design or implement this feature labels Jan 30, 2019
@arhi
Copy link
Author

arhi commented Jan 30, 2019

well I do agree about "low priority" :D but I believe it should exist as "feature request" :)

also the --topology --nodes makes sense :D

@datacharmer
Copy link
Owner

Sure thing. I have added the enhancement tag for that reason. :)
Not closed. Not deleted.
Plenty of opportunity for someone to send a pull request with the implementation ...

@datacharmer
Copy link
Owner

This feature was implemented as a cookbook recipe.
Using dbdeployer 1.27.0, run the following:

$ dbdeployer cookbook list
[...]

$ dbdeployer cookbook create circular_replication
recipes/cookbook_include.sh created
recipes/circular-replication.sh created

Then look at recipes/circular-replication.sh and, if the latest version was correctly detected (i.e. the file does not contain the string NOTFOUND) you can run the circular replication sample.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement help wanted Need help to either design or implement this feature low priority
Projects
None yet
Development

No branches or pull requests

2 participants