-
Notifications
You must be signed in to change notification settings - Fork 570
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
Question: replication redundancy #121
Comments
Hi @ridingrails, In short it would need to be programmed. Replication in Tile38 is very simple. A follower is just a readonly mirror of the leader. When new write commands are sent to a leader, the leader will forward the commands to each follower. The followers can serve readonly commands like When a leader terminates with active followers, the followers simply wait until the leader returns. There aren't elections and it's not a true cluster like Raft. To make it more redundant there would need to be a sentinel like service that watches the leader and knows of the followers. Then when a leader fails, the service would switch a follower to leader state by issuing a I hope this helps answer your question. |
Yes it does, thanks Josh! |
Hi @tidwall Regarding this, I have noticed that when the master dies, the followers don't respond at all. Is this by design?
This is what happens when the master dies. |
Hi @octete, I agree and I just pushed an update to the master branch which changes the behavior. Now a follower only needs to catch up with the leader one time to begin accepting reads. This should address the case when a leader goes down the follower will continue to responding to reads. If the leader dies and the follower server is restarted then the Let me know if this fixes the issue or if you have further questions. |
Hi @tidwall That's enough for now! Thanks for the prompt response. 😁 |
Hi @tidwall, sorry for "reopening" this case but I was just wondering if there is a way to "transform/promote" a |
Hi @jbfarez, It's possible to promote the follower to leader by sending the follower a Right now this is a manual step (or perhaps with a custom made script). I have plans on adding at automated failover in the future. |
@tidwall we are planning to use Tile38 in production and we would like to check if there is a proposal around this so that we can implement the same. Do we plan to use etcd or any other similar coordinator to achieve this? Do we plan to give some sort of "cluster-mode" and a simple cluster formation strategy? Or do we plan to monitor the leader from the follower and in case of failover, follower assumes leadership and sends FOLLOW host port command to the failed leader? In this case, we will have to change the DNS to the new node so Tile38 should either publish an event or allow a callback registry. The issue with a separate health check monitor would probably be monitoring and HA of the monitor itself. Thoughts? |
@mudit3774 There's no official built-in support for HA. I've heard that some people have had success using Redis Sentinel. It's possible to run the |
Hi @tidwall I created a docker image for Tile38 HA using Redis Sentinel. |
@tidwall @iwpnd
Change the variables based on needs this one directly makes the slave master once master goes down. connect as follows (example in java client)-
Also you can check the tile38 java client for client side implementation. |
FYI for those in the C# land, I will update this post once i find a workaround... EDIT: |
Great tool! I have a question about redundancy. When you set a follower for a master, what happens if the master host terminates? Is there any type of leader election among followers currently? Or do all the followers need to be programmed to follow a new master?
The text was updated successfully, but these errors were encountered: