HP NonStop-Systeme (früher als "Tandem" bekannt) sind für ihre hohe Verfügbarkeit und Zuverlässigkeit sowie ihren hohen Preis bekannt.
Wie schneiden Linux- oder Unix-basierte Cluster im Vergleich zu diesen und anderen Aspekten ab?
HP NonStop-Systeme (früher als "Tandem" bekannt) sind für ihre hohe Verfügbarkeit und Zuverlässigkeit sowie ihren hohen Preis bekannt.
Wie schneiden Linux- oder Unix-basierte Cluster im Vergleich zu diesen und anderen Aspekten ab?
Bei einer fehlertoleranten Maschine wird die Fehlertoleranz direkt in der Hardware behandelt und ist für die Anwendung transparent. Bei der Programmierung eines Clusters müssen Sie die Fehlertoleranz explizit in der Anwendung behandeln.
In der Praxis ist eine Cluster-Anwendungsarchitektur viel komplexer und fehleranfälliger als eine Anwendung, die für eine fehlertolerante Plattform wie NonStop entwickelt wurde. Dies bedeutet, dass die Unzuverlässigkeit aufgrund von Anwendungsfehlern weitaus größer ist, wie die Londoner Wertpapierbörse auf die harte Tour herausgefunden. Das Unternehmen verfügte über ein etabliertes System auf Tandem-Basis, das eine recht gängige Architektur für Börsenhandelsanwendungen war. Ihr neuer CEO hatte die glänzende Idee, dass Microsoft der Weg in die Zukunft sei, und beauftragte ein Big-5-Beratungsunternehmen mit der Entwicklung eines .Net-Systems auf der Grundlage eines Clusters von 120 Servern.
Das Problem bei geclusterten Anwendungen ist, dass die Ausfälle korreliert sein können. Wenn ein Anwendungs- oder Konfigurationsfehler im System vorhanden ist, wird er normalerweise auf allen Knoten repliziert. Das bedeutet, dass eine einzige Situation oder ein einziges Ereignis den gesamten Cluster lahm legen kann. Die zusätzliche Komplexität geclusterter Anwendungen macht deren Entwicklung und Bereitstellung fehleranfälliger, was die Wahrscheinlichkeit eines solchen Ereignisses erhöht. Ein geclustertes System, das (zum Beispiel) auf Linux und J2EE basiert, ist für die gleichen Arten von Fehlern anfällig.
IMHO ist dies ein großer Vorteil der älteren Mainframe-Architekturen. Mehrere Hersteller (IBM, HP, DEC und wahrscheinlich einige andere, die mir nicht einfallen) haben fehlertolerante Systeme entwickelt. Das zugrundeliegende Programmiermodell für diese Art von System ist etwas einfacher als ein geclusterter n-tier Anwendungsserver. Das bedeutet, dass vergleichsweise wenig schief gehen kann und man mit einem bestimmten Aufwand ein zuverlässigeres System erreichen kann. Eine überraschende Anzahl älterer Architekturen ist immer noch am Leben und lebt recht komfortabel in ihren Marktnischen. IBM verkauft immer noch viele Maschinen der Z- und I-Serie; Unisys stellt immer noch die A-Serie und die 2200er-Serie her; VMS und NonStop sind bei HP immer noch am Leben. Diese Systeme werden nicht nur an bestehende Kunden verkauft. So läuft beispielsweise ein kommerzielles Underwriting-System (GENIUS) auf der ISeries und ist in dieser Nische immer noch marktführend; während ich dies schreibe, werden neue Systeme eingeführt. Soweit ich weiß, hat die Anwendung zwei Versuche überlebt, sie umzuschreiben (einen in Java und einen in .Net), und die "Old School"-Plattform scheint ihr nicht wirklich im Weg zu stehen.
Ich würde jetzt noch keine Leerverkäufe bei Anbietern von Bildschirmabziehern tätigen ...
Gray & Reuter's Transaktionsverarbeitung: Konzepte und Techniken ist etwas trocken und akademisch, behandelt aber gut die Architektur fehlertoleranter Systeme. Einer der Autoren war einer der Hauptakteure bei der Entwicklung der Systeme von Tandem.
Handelt es sich dabei um dasselbe Projekt der Londoner Börse, mit dem Microsoft vor etwa einem Jahr in seiner Werbung geprahlt hat?
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.