Minientrevista amb Oleg Anastasyev: tolerància a fallades en Apache Cassandra

Minientrevista amb Oleg Anastasyev: tolerància a fallades en Apache Cassandra

Odnoklassniki és l'usuari més gran d'Apache Cassandra a RuNet i un dels més grans del món. Vam començar a utilitzar Cassandra l'any 2010 per emmagatzemar puntuacions de fotos, i ara Cassandra gestiona petabytes de dades en milers de nodes, de fet, fins i tot vam desenvolupar el nostre propi Base de dades transaccional NewSQL.
El 12 de setembre a la nostra oficina de Sant Petersburg farem segona trobada dedicada a Apache Cassandra. El ponent principal de l'esdeveniment serà l'enginyer en cap d'Odnoklassniki Oleg Anastasyev. L'Oleg és un expert en el camp dels sistemes distribuïts i tolerants a errors; fa més de 10 anys que treballa amb Cassandra i en repetides ocasions. va parlar sobre les característiques de l'ús d'aquest producte a les conferències.

A la vigília de la trobada, vam parlar amb l'Oleg sobre la tolerància a fallades dels sistemes distribuïts amb Cassandra, li vam preguntar de què parlaria a la trobada i per què valia la pena assistir a aquest esdeveniment.

Oleg va començar la seva carrera de programador el 1995. Va desenvolupar programari en banca, telecomunicacions i transport. Treballa com a desenvolupador líder a Odnoklassniki des del 2007 a l'equip de la plataforma. Les seves responsabilitats inclouen el desenvolupament d'arquitectures i solucions per a sistemes d'alta càrrega, grans magatzems de dades i la resolució de problemes de rendiment i fiabilitat del portal. També forma desenvolupadors dins de l'empresa.

- Oleg, hola! Al maig va tenir lloc primera trobada, dedicat a Apache Cassandra, els participants diuen que les discussions van durar fins ben entrada la nit, si us plau, digueu-me, quines impressions teniu de la primera trobada?

Desenvolupadors amb diferents antecedents de diferents empreses van venir amb el seu propi dolor, solucions inesperades als problemes i històries sorprenents. Vam aconseguir dur a terme la major part de la trobada en format de discussió, però hi va haver tantes discussions que només vam poder tocar un terç dels temes previstos. Vam prestar molta atenció a com i què controlem utilitzant l'exemple dels nostres serveis de producció real.

Em va interessar i em va agradar molt.

- A jutjar per l'anunci, segona trobada estarà totalment dedicat a la tolerància a falles, per què vas triar aquest tema?

Cassandra és un típic sistema distribuït ocupat amb una gran quantitat de funcionalitats més enllà d'atendre directament les sol·licituds dels usuaris: xafarderies, detecció d'errors, propagació de canvis d'esquema, expansió/reducció de clúster, anti-entropia, còpies de seguretat i recuperació, etc. Com en qualsevol sistema distribuït, a mesura que augmenta la quantitat de maquinari, augmenta la probabilitat de fallades, de manera que el funcionament dels clústers de producció de Cassandra requereix una comprensió profunda de la seva estructura per predir el comportament en cas de fallades i accions de l'operador. Després d'utilitzar Cassandra durant molts anys, nosaltres han acumulat una gran experiència, que estem disposats a compartir, i també volem parlar de com els companys de la botiga resolen els problemes típics.

— Quan es tracta de Cassandra, què entens per tolerància a falles?

En primer lloc, per descomptat, la capacitat del sistema per sobreviure a fallades típiques de maquinari: pèrdua de màquines, discs o connectivitat de xarxa amb nodes/centres de dades. Però el tema en si és molt més ampli i inclou, en particular, la recuperació de fallades, incloses les fallades per a les quals la gent poques vegades està preparada, per exemple, els errors de l'operador.

— Pots donar un exemple del clúster de dades més carregat i més gran?

Un dels nostres clústers més grans és el clúster de regal: més de 200 nodes i centenars de TB de dades. Però no és el més carregat, ja que està cobert per una memòria cau distribuïda. Els nostres grups més ocupats gestionen desenes de milers de RPS per escriure i milers de RPS per llegir.

- Vaja! Amb quina freqüència es trenca alguna cosa?

Sí tot el temps! En total, tenim més de 6 mil servidors, i cada setmana es substitueixen un parell de servidors i diverses desenes de discos (sense tenir en compte els processos paral·lels d'actualització i ampliació de la flota de màquines). Per a cada tipus d'avaria, hi ha instruccions clares sobre què fer i en quin ordre, tot s'automatitza sempre que és possible, de manera que les avaries són habituals i en el 99% dels casos passen desapercebudes pels usuaris.

—Com s'enfronta a aquestes denegacions?

Des del primer moment de l'operació de Cassandra i les primeres incidències, hem treballat en els mecanismes de còpia de seguretat i recuperació d'ells, hem construït procediments de desplegament que tenen en compte l'estat dels clústers de Cassandra i, per exemple, no permeten reiniciar nodes. si és possible la pèrdua de dades. Tenim previst parlar de tot això a la trobada.

— Com heu dit, no hi ha sistemes absolutament fiables. Per a quins tipus de fracassos et prepares i pots sobreviure?

Si parlem de les nostres instal·lacions de clústers Cassandra, els usuaris no notaran res si perdem diverses màquines en un DC o un DC sencer (això ha passat). Amb l'augment del nombre de DC, estem pensant a començar a garantir l'operativitat en cas de fallada de dos DC.

— Què creus que li falta a la Cassandra pel que fa a la tolerància a falles?

Cassandra, com moltes altres botigues NoSQL primerenques, requereix una comprensió profunda de la seva estructura interna i dels processos dinàmics que es produeixen. Jo diria que li falta simplicitat, predictibilitat i observabilitat. Però serà interessant escoltar les opinions d'altres participants de la reunió!

Oleg, moltes gràcies per dedicar-te el temps a respondre les preguntes!

Esperem a tothom que vulgui comunicar-se amb experts en l'àmbit de l'operació d'Apache Cassandra a la trobada del 12 de setembre a la nostra oficina de Sant Petersburg.

Vinga, serà interessant!

Inscriu-te a l'esdeveniment.

Font: www.habr.com

Afegeix comentari