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
El 12 de setembre a la nostra oficina de Sant Petersburg farem
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
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,
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
— 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?
—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!