NCache Hohe Verfügbarkeit und geplante Wartung

Dieses Video demonstriert wie NCache hält Ihre Daten hochverfügbar, indem es eine 100-prozentige Betriebszeit und Datenzuverlässigkeit bietet. In dieser speziellen Demo werde ich einen Cache-Server-Knoten von einem laufenden Cache-Cluster aus starten und stoppen und Ihnen zeigen, wie das geht NCache bewältigt dies erfolgreich, ohne dass es zu Ausfallzeiten oder Datenverlusten für Ihre Client-Anwendungen kommt.

Heute werde ich darüber sprechen, „wie Sie Hochverfügbarkeit in erreichen können NCache und wie NCache bietet Ihnen eine hohe Verfügbarkeit'. Wie du weißt, NCache wird in unternehmenskritischen Anwendungen eingesetzt, die sich keine Ausfallzeiten leisten können.

Hier ist ein Bild von einer Anwendungsserverfarm, die einen Cache-Cluster mit mehreren Servern verwendet, und dann gibt es mehrere Datenquellen. Und dies sind in der Regel mindestens zwei oder mehr Cache-Server.

NCache Wird in unternehmenskritischen Anwendungen verwendet
NCache Wird in unternehmenskritischen Anwendungen verwendet

Und, NCache bietet Ihnen a dynamisches Cache-Clustering, wo Sie Cache-Server zur Laufzeit hinzufügen oder entfernen können, ohne die Anwendung zu stoppen, weil NCache hat eine Peer-to-Peer-Architektur. Und das werde ich heute im Video demonstrieren.

Ich werde die Partition-Replikat-Topologie verwenden, bei der wir beginnen und weitere Server hinzufügen, und Sie werden sehen, dass in dieser Topologie jeder Server eine Partition hat. Wenn ich also mit einem Server beginne, ist es nur eine Partition und das Replikat befindet sich ebenfalls auf derselben Partition, oder vielleicht gibt es kein Replikat, und wenn Sie dann einen zweiten Server hinzufügen, haben Sie zwei Partitionen. Die gesamten Daten des Caches werden also jeweils halbiert und jede Partition wird auf einen anderen Server repliziert.

Caching-Topologie: Partition-Replica-Cache

Und wenn Sie dann einen dritten Server hinzufügen, haben Sie drei Partitionen und dieselben Daten werden auf drei Partitionen aufgeteilt. Jede Partition hat jetzt ein Drittel der Daten statt nur die Hälfte der Daten und jede Partition wird auf einem anderen Server gesichert. Also, das werde ich demonstrieren.

Hinzufügen von Clients und Servern zur Laufzeit

Lassen Sie mich schnell in das Produkt einsteigen und Ihnen das zeigen. Ich habe drei Cache-Server, die ich verwenden werde. Ich fange mit einem an und füge dann immer mehr hinzu. Und dann habe ich einen Client, ich sitze gerade jetzt auf dem Client-Rechner. Also klicke ich einfach darauf und öffne die NCache Web Manager, ein webbasiertes Verwaltungstool. Und aktuell geht das so NCache kommt, wenn Sie installieren NCache. Also, wie Sie installiert haben NCache Auf all diesen drei Servern wurde auf jedem Server ein 'Democache' installiert. Also, ich werde jetzt den Democache starten und Sie werden sehen, dass der Democache gestartet ist.

Starten Sie einen Cache
Starten Sie einen Cache

Sobald es gestartet ist, werde ich auch eine Statistik darüber öffnen und ich werde auch den Cache überwachen. Monitoring gibt mir ein sehr schönes Dashboard. Es gibt ein Server-Dashboard und ein Berichts-Dashboard. Das Berichts-Dashboard ist dem Statistikfenster sehr ähnlich. Also bleibe ich einfach beim Server-Dashboard und behalte es hier. Und jetzt, wo ich das am Laufen habe, muss ich jetzt die Clients laufen lassen.

NCache kommt mit einem Powershell-basierten Stresstest-Tool. Also, lass mich einfach das Wort tippen NCache. Es gibt eine Powershell-Verwaltung, also werde ich „Test-Stress“ ausführen und ihm einen Namen meines Caches geben, der „Democache“ ist, wie Sie hier sehen können.Test-Stress-Democache'. Beim Cache-Namen wird die Groß- und Kleinschreibung nicht beachtet, Sie können ihn also beliebig eingeben.

Stresstest-Tool
Stresstest-Tool

Wenn ich die Anwendung starte, ist dies mein Stresstest-Tool. Der Grund dafür ist, dass Sie keine Programmierung vornehmen müssen, um mit dem Testen zu beginnen NCache. Mit diesem Stresstest-Tool können Sie auch Stress simulieren. Deshalb wird es als Stresstest-Tool bezeichnet. Aber wissen Sie, stellen Sie sich vor, das wäre Ihre Anwendung.

Wenn ich jetzt zu meinem Statistikfenster komme, werden Sie sehen, dass ich ungefähr 400 Elemente gezählt habe, die ständig ansteigen. Ich habe ungefähr 981 oder ungefähr 1000 Anfragen pro Sekunde von diesem einen Client.

Statistikfenster
Statistikfenster

Ich werde jetzt fortfahren und eine zweite Client-Anwendung ausführen. Ich kann also weiterhin mehrere Clients hinzufügen, indem ich mehrere Stresstest-Toolinstanzen oder Powershell-Instanzen starte. Also, wenn ich hierher komme, sage ich noch einmal Test-Stress-Democache. Sobald ich dies getan habe, werden Sie sehen, dass sich die Anzahl oder die Anfrage jetzt fast verdoppelt hat. Da jeder Client, wie Sie in diesem Bild gesehen haben, seine eigene Transaktionslast auf den Server bringt, hat sich die Transaktionskapazität des Servers fast verdoppelt. Ich kann hier auch sehen, dass ich in meinem Server-Dashboard zwei Clients habe, die mit einem Cache-Cluster mit einem Knoten verbunden sind.

Einen zweiten Client hinzugefügt
Einen zweiten Client hinzugefügt

Es gibt also nur einen Server im Cluster, den ich derzeit verwende. Okay, ich gehe jetzt zu, nehmen wir an, dass das, was im wirklichen Leben passiert, ist, dass Ihre Kapazität wächst, und übrigens empfehlen wir mindestens zwei Cache-Server. Sie sollten also niemals nur einen Cache-Server darauf laufen lassen. Aber ich wollte nur mit einem anfangen, damit ich zur Laufzeit zwei Server hinzufügen könnte, um es Ihnen zu zeigen.

Als Nächstes füge ich also einen zweiten Cache-Server hinzu, und der zweite Cache-Server, den ich hinzufügen werde, ist 117. Ich werde fortfahren und 117, ich werde hinzufügen sagen. Es wurde hinzugefügt, aber es wurde gestoppt. Also klicke ich hier drauf und sage Start. Dadurch wird nur der Serverknoten gestartet.

Hinzufügen eines zweiten Cache-Servers
Hinzufügen eines zweiten Cache-Servers

Sobald ich hier anfange, werden Sie sehen, dass hier und dort ein zweiter Knoten hinzugefügt wird. Und die Anzahl der Cache-Zähler ist gesunken. Ich habe Ihnen nicht gezeigt, dass die Cache-Anzahl tatsächlich doppelt so hoch war, jetzt, da es sich um zwei Server handelt, ist die Cache-Anzahl gesunken und die Transaktionsanforderungen pro Sekunde wurden halbiert. Da die Hälfte der Anfragen von diesem Cache-Server verarbeitet werden, wird die Hälfte von ihnen von diesem Cache-Server verarbeitet. So ist also die Zählung gesunken.

Stats

Also, jetzt habe ich einfach einen Cache-Server hinzugefügt, ohne die Anwendung zu stoppen. Sie können sehen, dass das Stresstest-Tool hier ausgeführt wird, und es wird auch hier ausgeführt. Überhaupt keine Probleme. Und was jetzt passiert ist, ist, dass meine Partitionen, also ich ein Server war, jetzt ein Zwei-Server-Cluster bin. Es gibt also Partition eins, Partition zwei und jede Partition wird auf dem anderen Server gesichert. Lassen Sie mich Ihnen zeigen, was das ist. Also, hier ist Partition eins. Es hat so viele Gegenstände und seine Nachbildung ist genau hier. Sie sehen also, das ist fast die gleiche Menge wie diese. Und das ist dann meine Partition zwei. Ungefähr 1500 etwas und es ist hier gesichert.

Asynchron. Reproduzieren

Jetzt ist diese Replikation asynchron. Diese Zählung wird also nicht immer genau sein. Aber es wird schließlich genau sein, selbst wenn Sie die Transaktion stoppen.

In Ordnung. Nehmen wir nun an, dass meine Transaktionslast weiter wächst. Mein Geschäft läuft gut und ich muss weitere Server hinzufügen, weil ich die Transaktionskapazität erhöhen muss. Ich kann auch mehr Kunden hinzufügen, weil das passieren wird.

Erstens werde ich mehr Clients hinzufügen, weil ich als erstes mehr Clients hinzufügen werde, mehr Anwendungsserver, meine ich. Und das führt zu einer höheren Transaktionslast. Passen Sie nur auf, diese Transaktionslast wird zunehmen, sehen Sie. Es ging auf 1182 pro Server statt 800 etwas und tatsächlich ist es sogar noch mehr gegangen, es ist 1200 etwas gegangen.

Höhere Transaktionslast
Höhere Transaktionslast

Die Transaktionslast steigt also weiter an. Ich kann es auch hier sehen. Ich kann die Anfrage pro Sekunde auf jedem Server sehen, die verteilt wird, wenn ich mehr Server hinzufüge, sie wird erhöht.

Nun, da ich mehr Clients hinzugefügt habe, werde ich irgendwann feststellen müssen, dass meine Cache-Server langsamer werden, weil die Transaktionskapazität ausgeschöpft ist oder vielleicht die Speicherkapazität von wie viel Speicher Ich habe in jedem Server das Maximum erreicht. Also muss ich noch einen weiteren Server hinzufügen.

In jedem Fall empfehlen wir, wie gesagt, mindestens zwei Server. Sie sollten also zumindest niemals einen einzelnen Servercluster in Produktion haben. Denn das gibt Ihnen keine hohe Verfügbarkeit. Wenn Sie also mindestens zwei haben und die Kapazitätsgrenze dieser beiden erreichen, ist es an der Zeit, einen dritten Server hinzuzufügen.

Wie fügen wir einen dritten Server hinzu? Ich habe einen dritten Server genau hier 157. Ich werde sofort hierher kommen und sagen, füge einen Server hinzu und es ist 157. Also werde ich hierher kommen und 157 hinzufügen. Wieder wird es hinzugefügt, aber es wurde gestoppt. Ich komme hierher, wähle das aus und sage Start.

Hinzufügen eines dritten Cache-Servers
Hinzufügen eines dritten Cache-Servers

Sobald ich anfange zu bemerken, dass diese 1800 untergehen wird. Beobachten Sie, sobald der dritte Server einsteigt, wird er die Last dort teilen. Siehst du, es kam auf ungefähr 1100 etwas hinaus.

Lastverteilung
Lastverteilung

Denn jetzt habe ich drei Server statt zwei und wie ich hier gezeigt habe, haben Sie drei Partitionen, wenn Sie drei Server haben. Die Daten dieser beiden Partitionen werden also weiter in drei Partitionen aufgeteilt.

Jetzt hat also jede Partition ein Replikat auf einem anderen Server, und so werden die Daten tatsächlich verteilt. Ich habe also gerade demonstriert, dass Sie weitere Server hinzufügen können, ohne die Anwendung oder den Cache zu stoppen. Also, alles ist … Ich meine, die Anwendung ist von dieser Änderung völlig unberührt, wenn Sie weitere Server hinzufügen, was eine großartige Sache ist NCache dass es dich das machen lässt.

Okay. Jetzt kommt also der Zeitpunkt, an dem Sie möglicherweise auch einen Server herunterfahren müssen. Es gibt zwei Möglichkeiten, wie Sie einen Server herunterfahren können. Eines, bei dem Sie es dauerhaft herunterfahren, weil Sie Ihre Kapazität reduzieren. Vielleicht kommen Sie von drei Servern auf zwei herunter, weil es ein saisonales Geschäft ist. Sie hatten während der Ferienzeit eine Spitzennutzungszeit und jetzt werden Sie wieder zu Ihrer standardmäßigen kleineren Konfiguration zurückkehren. Einige dieser Server werden also tatsächlich entfernt. Also, lass uns weitermachen und das tun.

Ich werde Server 157 darin entfernen. Also wähle ich Server 157 und sage Stopp. Zuerst werde ich aufhören. Nun, wie Sie sehen können, wird diese Zählung sinken und weiter steigen, während ich stoppe. Sehen Sie, es ist wieder auf etwa 2000 gestiegen. Das heißt, die Daten haben sich von diesem auf diesen verschoben.

Server zur Laufzeit entfernen / stoppen
Server zur Laufzeit entfernen / stoppen

Ich bin im Grunde von einer Konfiguration mit drei Partitionen zu einer Konfiguration mit zwei Partitionen übergegangen. Jede Partition wird repliziert, wie Sie hier jede Partition sehen können. Also, diese Partition wird genau hier repliziert und diese Partition wird genau hier repliziert, Okay. Und keine Auswirkungen auf die Anwendungen, wie Sie sehen können.

Das bewältigt also ziemlich genau die Situation, in der Sie entweder einen Server hinzufügen müssen, weil Sie die Kapazität erhöhen müssen, oder einen Server herunterfahren müssen, weil sich Ihr Kapazitätsbedarf geändert hat. Tatsächlich hat sich aufgrund der saisonalen Nutzung der Kapazitätsbedarf geändert.

Wartungsmodus

Es gibt eine andere Situation, die wir als Wartungsmodus bezeichnen, in der Sie einen Server herunterfahren müssen, aber nicht, weil Ihre Kapazität nachgelassen hat, sondern weil Sie einige Wartungsarbeiten durchführen müssen. Angenommen, Sie müssen einige Betriebssystem-Patches oder ähnliches anwenden. Sie müssen also einen Server für vielleicht fünf Minuten, zehn Minuten, eine halbe Stunde oder so herunterfahren. Aber Ihr Cache hat riesige Datenmengen. Ich meine unsere Kunden, sie haben zig Gigabyte an Daten auf jedem Server. Wenn Sie also einen Cluster mit drei, vier, fünf, sechs Servern und kombinierten Daten von mehreren zehn Gigabyte auf jedem Server haben, wirkt sich das Herunterfahren eines Servers tatsächlich auf die Leistung aus. Denn wenn Sie jetzt alles neu partitionieren müssten, um von drei Partitionen auf zwei Partitionen zu wechseln, würden Sie eine Menge Zustandsübertragungen durchführen und dann noch einmal, um es wieder hinzuzufügen. Also haben wir uns eine Funktion namens Wartungsmodus ausgedacht, an der Sie erkennen können NCache Das ist okay, ich fahre diesen Server herunter, aber ich möchte nicht, dass Sie den Cache neu partitionieren. Behalten Sie dies als drei Partitionsknoten bei, Partition eins, Partition zwei und die Replik drei, die genau hier ist, wird zu Partition drei. Und das bleibt aktiv. Es ist eine vorübergehende Anordnung. Am Ende, wenn Sie fertig sind, bringen Sie diesen Knoten wieder nach oben und es wird wieder zu diesem Bild zurückkehren.

Wartungsmodus Herunterfahren eines Cache-Servers
Wartungsmodus Herunterfahren eines Cache-Servers

Lass mich dir zeigen, wie du das machen kannst, okay. Also, ich werde erstmal wieder die Drei-Server-Konfiguration erreichen, ich werde das hinzufügen, nun nehme an, dass ich es entfernt hatte, jetzt füge ich es wieder hinzu. Ich hätte es entfernen sollen, ich habe es nur gestoppt. Aber ich werde es wieder hinzufügen. Ich bin wieder auf einem Drei-Knoten-Cluster. Meine Daten sind gleichmäßig verteilt.

Wartungsmodus Herunterfahren eines Cache-Servers
Wartungsmodus Herunterfahren eines Cache-Servers

Meine Transaktionslast ist gleichmäßig verteilt und ich kann es auch hier sehen. Eigentlich zeigt es das noch nicht, es wird. Aber wie auch immer. Also, sobald ich das habe, muss ich jetzt Wartungsarbeiten durchführen. Also, ich werde hierher kommen und sagen, noch einmal okay, denken Sie daran, dass jeder Knoten ungefähr 1200 Elemente hat, okay.

Wenn ich es also herunterfahren würde, sollte dies in einem Zwei-Knoten-Cluster bis zu 2000+ Elemente in jedem Knoten erreichen, was nicht passieren wird, denn ich werde hierher kommen und sagen: hier werde ich sagen, stoppen Sie dies für die Wartung.

Stop-Knoten für die Wartung
Stop-Knoten für die Wartung

Wenn ich darauf klicke, werde ich gefragt, wie lange Sie die Wartung beibehalten möchten? Offensichtlich ist diese Zeitüberschreitung sehr wichtig, da am Ende dieser Zeitüberschreitung NCache geht davon aus, dass es keine Wartung mehr ist. Denn wenn Sie den Knoten bis zu diesem Zeitpunkt nicht wieder hinzufügen, NCache geht davon aus, dass Sie es tatsächlich dauerhaft entfernt haben, wie die anderen entfernten, die ich Ihnen gerade gezeigt hatte, und es wird den Cache tatsächlich entfernen und neu partitionieren.

Stop-Knoten für die Wartung
Stop-Knoten für die Wartung

Wenn Sie es jedoch innerhalb dieses Zeitraums wieder hinzufügen und es sich um einen konfigurierbaren Zeitraum handelt, dann wenn Sie es innerhalb dieses Zeitraums wieder hinzufügen NCache wird tun, was ich Ihnen gerade gezeigt habe, dass es nicht neu partitionieren wird, es wird nur diese Partition, dieses Replikat in einem temporären Partitionsmodus behalten. Also, lass mich einfach sagen, okay, ich sage, hör jetzt damit auf. Also, kommen wir hierher 1300, 1300, 1470 und jetzt ist das komplett weg. Beachten Sie jedoch, dass diese Anzahl nicht gestiegen ist. Wieso den? Weil eines der Replikate eine aktive Partition geworden ist. Sie wissen nicht, welches durch dieses Bild, aber die Tatsache, dass die Zählung nicht gestiegen ist, die Replik ist immer noch da. Dieses Replikat ist zu einer aktiven Partition geworden. Also, jetzt hat Server eins Partition eins und Partition drei, Server zwei hat Partition zwei und eine passive Replik eins und Server drei ist heruntergefahren, was ich tun muss, wissen Sie, ich muss ihn zur Wartung herunterfahren.

Wartungsmodus Herunterfahren eines Cache-Servers
Wartungsmodus Herunterfahren eines Cache-Servers

Also, jetzt gehst du und machst deine Wartung. Sie wenden Ihre Patches an und jetzt, wo Sie fertig sind, möchten Sie es wieder hochfahren, also kommen Sie einfach wieder hierher, Sie müssen nicht einmal neu hinzufügen, sagen Sie einfach neu starten, weil es gestoppt wurde. Dabei lief die Anwendung übrigens ohne Unterbrechung weiter. All das, all diese Änderungen erfordern also keine Anwendungsunterbrechungen. Also, ich werde sagen, fang nochmal an. Und sobald ich Start sage, jetzt pass auf, wird dies seine Position wiedererlangen und die Daten wieder einholen, und Sie werden sehen, dass es wieder auf dem gleichen Niveau ist, das es zuvor war.

Starten Sie einen Knoten zur Laufzeit

Zusammenfassung

Wie Sie also sehen können, habe ich sowohl das dauerhafte Hinzufügen und Entfernen von Knoten zur Laufzeit als auch das vorübergehende Entfernen eines Knotens für geplante Wartungsarbeiten demonstriert. Das ist also das Ende meiner Demo. Ich hatte gehofft, Ihnen das demonstrieren zu können NCache bietet Ihnen eine hohe Verfügbarkeit. Es ist eine 100%ige Betriebszeit, bei der Sie keine der Anwendungen herunterfahren müssen. Es gibt keine Unterbrechung in der Anwendung.

Was macht man als nächstes?

 
© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.