Unterschied passiver/aktiver Server und Primär-/Sekundärserver?
In einem Cluster spricht man von aktiven und passiven Knoten. Die aktiven Knoten führen Prozesse aus, währen die passiven im Standby-Modus sind. Im Bezug auf SQL Server Cluster werden häufig die Begriffe Primaryserver und Secondarysever mit gleicher Bedeutung wie aktiver und passiver Server verwendet. Was ist der Unterschied?
1 Antwort
Hey ho,
das kommt etwas auf die Implementation an, aber häufig wirst du sowas wie Master-Slave oder Master-Master Replication finden.
Mariadb (ursprünglich ein MySQL Fork) bietet zum Beispiel mittels Galera eine Möglichkeit mehrere Server gleichzeitig als aktive Master zu verwenden. Ansonsten ist es immer ein Problem Daten zusammenzuführen, wenn mehrere Instanzen denken, sie hätten den korrekten Stand (Split Brain).
Du kannst die Server z.B. so konfigurieren, dass ein Slave stetig Daten erhält, aber selbst nur Read-Only Daten ausliefert, keine Daten annimmt. Schreiben darfst du nur auf einen Master.
Mit Galera z.B. kannst du aber auch z.B. 3 Server gleichzeitig als Master betreiben und auf allen Instanzen schreiben. Untereinander syncen die Server sich dann. Wenn du da Details brauchst, lies dich in die Thematik Master-Master-Replica ein, aber kurz gesagt verschiebt man pro Instanz die ID um den Offset der Menge der Instanzen, damit es keine Kollisionen gibt, denn das ist letztlich das größte Problem.
Ansonsten kannst du auch Server umschalten, aber du wirst schnell mit Datenverlust oder Kollisionen zu kämpfen haben, wenn der Primärserver ausgeschaltet wird und der sekundäre hochgefahren wird (oder aktiv geschaltet), weil zum Zeitpunkt der Umschaltung die Daten nicht synchronisiert wurden.
Am Ende möchtest du eher sowas wie Master-Master-Replica nutzen und einem Server den Traffic schicken. Wenn ein Server ausgeschaltet wird, erhält einfach die nächste Instanz den Traffic und die anderen beiden können weiter arbeiten. Ist eine Instanz später wieder da, können die Daten untereinander abgeglichen werden.
Hoffe ich konnte bisschen helfen, aber das Thema ist etwas komplexer als es mit 2 Sätzen zu beanworten :D