Ich habe einen kleinen Cluster von Servern, die ich synchron halten muss. Mein erster Gedanke dabei war, dass ein Server der "Master" ist und Updates mit der Pub/Sub-Funktion von redis veröffentlicht (da wir redis bereits für Storage verwenden) und die anderen Server im Cluster, die Slaves, nach Updates in suchen lassen eine langwierige Aufgabe. Dies schien eine einfache Methode zu sein, um alles synchron zu halten, aber dann dachte ich an das offensichtliche Problem: Was ist, wenn mein "Meister" ausfällt? Dort habe ich angefangen, nach Techniken zu suchen, um sicherzustellen, dass es immer einen Meister gibt, was mich dazu brachte, über Ideen wie die Wahl des Leiters zu lesen. Schließlich stolperte ich über Apache Zookeeper (durch Python-Bindung, "pettingzoo"), die anscheinend eine Menge der Fehlertoleranz Logik für Sie kümmert. Ich kann vielleicht meinen eigenen Code für die Auswahl des Anführers schreiben, aber ich denke, es wäre nicht annähernd so gut wie etwas, das sich bewährt und getestet hat, wie z. B. Zookeeper.zoekeeper vs redis server sync
Mein Hauptproblem bei der Verwendung von zookeeper ist, dass es nur eine weitere Komponente ist, die ich unnötigerweise zu meinem Setup hinzufügen kann, wenn ich mit etwas einfacherem auskommen könnte. Hat jemand jemals auf diese Weise Redis verwendet? Oder gibt es eine andere einfache Methode, mit der ich die Art von Funktionalität erreichen kann, die ich erreichen möchte?
Mehr Infos über Streichelzoo (slideshare)