Unterschiede zwischen Clustering und Hochverfügbarkeit
Die GitHub Enterprise Server-Hochverfügbarkeitskonfiguration ist eine Konfiguration mit einer primären/sekundären Failover-Instanz, die Redundanz bereitstellt. Demgegenüber bietet Clustering Redundanz und Skalierbarkeit, indem die Last für Lese- und Schreibvorgänge auf mehrere Knoten verteilt wird.
Fehlerszenarien
Hochverfügbarkeit und Clustering bieten Redundanz, indem der einzelne Knoten als ein Point of Failure beseitigt wird. In den folgenden Szenarien können sie Verfügbarkeit bieten:
- Softwareabstürze durch Ausfall des Betriebssystems oder nicht wiederherstellbare Anwendungen.
- Hardwarefehler einschließlich Storage-Hardware, CPU, RAM, Netzwerkschnittstellen usw.
- Virtualisierungshostsystem-Fehler einschließlich ungeplanter und geplanter Wartungsereignisse auf AWS.
- Logisch oder physisch getrenntes Netzwerk. Wenn sich die Failover-Appliance in einem getrennten Netzwerk befindet, ist sie vom Fehler nicht betroffen.
Skalierbarkeit
Clustering provides better scalability by distributing load across multiple nodes. This horizontal scaling may be preferable for some organizations with tens of thousands of developers. in der Hochverfügbarkeitskonfiguration ist die Größe der Appliance nur vom primären Knoten abhängig, und die Last wird nicht an den Replikatserver verteilt.
Unterschiede bei der Failover-Methode und -Konfiguration
Feature | Failover-Konfiguration | Failover-Methode |
---|---|---|
Hochverfügbarkeitskonfiguration | DNS-Eintrag mit einem niedrigen TTL-Wert, der auf die primäre Appliance oder auf den Load-Balancer verweist. | Sie müssen die Replikat-Appliance in den DNS-Failover- und Load-Balancer-Konfigurationen manuell hochstufen. |
Clustering | Der DNS-Eintrag muss auf einen Load-Balancer verweisen. | Wenn ein Knoten hinter dem Load-Balancer ausfällt, wird der Traffic automatisch an die anderen funktionierenden Knoten gesendet. |
Backups und Disaster Recovery
Weder die Hochverfügbarkeit noch Clustering sollten als ein Ersatz für regelmäßige Backups angesehen werden. Weitere Informationen finden Sie unter „Backups auf Ihrer Appliance konfigurieren“.
Überwachung
Verfügbarkeitsfeatures, insbesondere mit einem automatischen Failover, beispielsweise Clustering, können einen Fehler maskieren, da der Dienst in der Regel nicht unterbrochen wird, wenn etwas fehlschlägt. Unabhängig davon, ob Sie Hochverfügbarkeit oder Clustering verwenden, ist es wichtig, den Zustand jeder Instanz zu überwachen, damit Sie wissen, wann ein Fehler auftritt. Weitere Informationen finden Sie unter „Empfohlene Schwellenwerte für Meldungen“ und „Clusterknoten überwachen“.
Weiterführende Informationen
- Weitere Informationen zu GitHub Enterprise Server Clustering finden Sie unter „Clustering-Übersicht“.
- Weitere Informationen zur Hochverfügbarkeit finden Sie unter „GitHub Enterprise Server für Hochverfügbarkeit konfigurieren“.