Mini-Interview mit Oleg Anastasiev: Fehlertoleranz bei Apache Cassandra



Klassenkameraden sind der größte Benutzer von Apache Cassandra in RuNet und einer der größten der Welt. Wir haben 2010 damit begonnen, Cassandra zum Speichern von Fotoschätzungen zu verwenden. Jetzt verwaltet Cassandra Petabytes an Daten auf Tausenden von Knoten. Außerdem haben wir sogar unsere eigene NewSQL-Transaktionsdatenbank entwickelt .
Am 12. September werden wir in unserem Büro in St. Petersburg das zweite Treffen abhalten, das Apache Cassandra gewidmet ist . Der Hauptredner der Veranstaltung wird der Chefingenieur Odnoklassnikov Oleg Anastasiev sein. Oleg ist ein Experte auf dem Gebiet verteilter und fehlertoleranter Systeme. Er arbeitet seit über 10 Jahren mit Cassandra zusammen und hat auf Konferenzen wiederholt über die Eigenschaften dieses Produkts gesprochen .

Am Vorabend des Treffens sprachen wir mit Oleg über die Fehlertoleranz verteilter Systeme mit Cassandra und fragten, worüber er auf dem Treffen sprechen würde und warum es sich lohnte, an dieser Veranstaltung teilzunehmen.

Oleg begann seine Karriere als Programmierer bereits 1995. Entwickelte Software im Bankensektor, in der Telekommunikation und im Transportwesen. Seit 2007 arbeitet er als leitender Entwickler bei Odnoklassniki als Teil des Plattformteams. Zu seinen Aufgaben gehört die Entwicklung von Architekturen und Lösungen für Hochlastsysteme, große Data Warehouses und die Lösung der Probleme der Produktivität und Zuverlässigkeit des Portals. Er ist auch damit beschäftigt, Entwickler innerhalb des Unternehmens auszubilden.

- Oleg, hallo! Im Mai fand das erste Treffen statt , das Apache Cassandra gewidmet war. Die Teilnehmer sagten, dass die Diskussionen bis spät in die Nacht dauerten. Bitte sagen Sie mir, was sind Ihre Eindrücke vom ersten Treffen?

Entwickler mit unterschiedlichem Hintergrund aus verschiedenen Unternehmen kamen mit ihrem Schmerz, unerwarteten Lösungen für Probleme und erstaunlichen Geschichten. Wir konnten den größten Teil des Treffens im Format der Diskussion durchführen, aber es gab so viele Diskussionen, dass wir nur ein Drittel der beschriebenen Themen ansprechen konnten. Wir haben sehr darauf geachtet, wie und was wir am Beispiel unserer realen Produktionsdienstleistungen überwachen.

Ich war interessiert und habe es sehr genossen.

- Gemessen an der Ankündigung wird der zweite Mitap ausschließlich der Fehlertoleranz gewidmet sein. Warum haben Sie dieses Thema gewählt?

Cassandra ist ein typisches geladenes verteiltes System mit einer Vielzahl von Funktionen, die nicht nur Benutzeranforderungen direkt bedienen: Klatsch, Fehlererkennung, Verteilung von Schemaänderungen, Erweiterung / Reduzierung des Clusters, Anti-Entropie, Sicherungen und Wiederherstellung usw. Wie in jedem verteilten System steigt mit zunehmender Eisenmenge die Wahrscheinlichkeit von Ausfällen. Daher erfordert der Betrieb der Produktion von Cassandra-Clustern ein tiefes Verständnis seines Geräts, um das Verhalten bei Ausfällen und Bedienereingriffen vorherzusagen. Während der langjährigen Verwendung von Cassandra haben wir umfangreiches Fachwissen gesammelt , das wir gerne weitergeben möchten, und möchten auch diskutieren, wie unsere Kollegen typische Probleme lösen.

- Was meinen Sie mit Cassandra unter Fehlertoleranz?

Zuallererst natürlich die Fähigkeit des Systems, typische Hardwarefehler zu überstehen: Verlust von Maschinen, Festplatten oder Netzwerkkonnektivität mit Knoten / Rechenzentren. Das Thema selbst ist jedoch viel umfassender und umfasst insbesondere die Wiederherstellung nach Fehlern, einschließlich Fehlern, auf die Personen selten vorbereitet sind, z. B. Bedienungsfehler.

- Können Sie ein Beispiel für den am meisten geladenen und größten Datencluster geben?

Einer unserer größten Cluster ist der Geschenkcluster: über 200 Knoten und Hunderte von TB Daten. Es ist jedoch nicht das am meisten geladene, da es von einem verteilten Cache abgedeckt wird. Unsere am stärksten frequentierten Cluster enthalten Zehntausende von RPS zum Schreiben und Tausende von RPS zum Lesen.

- Wow! Wie oft bricht etwas?

Ja, ständig ! Insgesamt haben wir mehr als 6.000 Server, und jede Woche werden ein paar Server und mehrere Dutzend Festplatten ausgetauscht (ohne parallele Upgrade-Prozesse und Erweiterung der Flotte). Für jede Art von Fehler wird eine klare Anweisung geschrieben, was und in welcher Reihenfolge zu tun ist. Alles wird so weit wie möglich automatisiert. Daher sind Fehler eine Routine und treten in 99% der Fälle von Benutzern unbemerkt auf.

- Was haben Sie mit solchen Fehlern zu kämpfen?

Von Beginn des Betriebs von Cassandra bis zu den ersten Vorfällen haben wir daraus Sicherungs- und Wiederherstellungsmechanismen erarbeitet, Bereitstellungsverfahren erstellt, die den Status von Cassandra-Clustern berücksichtigen und beispielsweise verhindern, dass Knoten neu gestartet werden, wenn Datenverlust möglich ist. Wir planen, auf dem Treffen darüber zu sprechen.

- Wie Sie sagten, gibt es keine absolut zuverlässigen Systeme. Auf welche Arten von Fehlern bereiten Sie sich vor und können überleben?

Wenn wir über unsere Installationen von Cassandra-Clustern sprechen, werden Benutzer nichts bemerken, wenn wir mehrere Maschinen in einem DC oder einem ganzen DC verlieren (dies ist passiert). Mit der Zunahme der Anzahl von DCs denken wir darüber nach, die Funktionsfähigkeit im Falle eines Ausfalls von zwei DCs sicherzustellen.

- Was fehlt Cassandra Ihrer Meinung nach an Fehlertoleranz?

Cassandra erfordert, wie viele andere frühe NoSQL-Repositorys, ein tiefes Verständnis seiner internen Struktur und der laufenden dynamischen Prozesse. Ich würde sagen, dass ihr Einfachheit, Vorhersehbarkeit und Beobachtbarkeit fehlen. Es wird aber interessant sein, die Meinung anderer Teilnehmer des Treffens zu hören!

Oleg, vielen Dank, dass du dir die Zeit genommen hast, die Fragen zu beantworten!

Wir warten auf alle, die bei einem Treffen am 12. September in ihrem Büro in St. Petersburg mit Experten auf dem Gebiet der Bedienung von Apache Cassandra sprechen möchten.

Komm, es wird interessant sein!

Registrieren Sie sich für die Veranstaltung.

Source: https://habr.com/ru/post/de465475/


All Articles