Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

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

Comments

@arhi
Copy link

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

This comment has been minimized.

Copy link
Owner

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] 
@arhi

This comment has been minimized.

Copy link
Author

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

This comment has been minimized.

Copy link
Owner

commented Jan 30, 2019

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

This comment has been minimized.

Copy link
Owner

commented Mar 31, 2019

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 join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.