Miniintervjuu Oleg Anastasjeviga: Apache Cassandra veataluvus

Miniintervjuu Oleg Anastasjeviga: Apache Cassandra veataluvus

Odnoklassniki on suurim Apache Cassandra kasutaja RuNetis ja üks suurimaid maailmas. Hakkasime Cassandrat kasutama 2010. aastal fotode hinnangute salvestamiseks ja nüüd haldab Cassandra tuhandete sõlmede petabaite andmeid. Tegelikult arendasime isegi oma NewSQL tehingute andmebaas.
12. septembril meie Peterburi kontoris peame teine ​​​​apatš Cassandrale pühendatud kohtumine. Ürituse peaesinejaks on Odnoklassniki peainsener Oleg Anastasjev. Oleg on hajutatud ja tõrketaluvusega süsteemide ekspert, kes on Cassandraga koostööd teinud üle 10 aasta ja korduvalt rääkis selle toote kasutamise võimalustest konverentsidel.

Meetupi eelõhtul rääkisime Olegiga Cassandraga hajutatud süsteemide tõrketaluvusest, uurisime, millest ta meetupil räägib ja miks tasub sellel üritusel osaleda.

Oleg alustas oma programmeerimiskarjääri juba 1995. aastal. Ta töötas välja panganduse, telekommunikatsiooni ja transpordi tarkvara. Ta on töötanud Odnoklassnikis juhtiva arendajana alates 2007. aastast platvormi meeskonnas. Tema ülesannete hulka kuulub suure koormusega süsteemide, suurte andmeladude arhitektuuride ja lahenduste väljatöötamine ning portaali jõudluse ja töökindluse probleemide lahendamine. Samuti koolitab ta ettevõtte sees arendajaid.

- Oleg, tere! Mais toimus esimene kohtumine, mis on pühendatud Apache Cassandrale, räägivad osalejad, et arutelud kestsid hiliste õhtutundideni, öelge palun, millised on teie muljed esimesest kohtumisest?

Erineva taustaga arendajad erinevatest ettevõtetest tulid oma valu, ootamatute probleemide lahenduste ja hämmastavate lugudega. Suurema osa kohtumisest suutsime läbi viia aruteluformaadis, kuid arutelusid oli nii palju, et saime puudutada vaid kolmandikku planeeritud teemadest. Pöörasime palju tähelepanu sellele, kuidas ja mida me oma reaalsete tootmisteenuste näitel jälgime.

Mind huvitas ja väga meeldis.

- Kuulutuse järgi otsustades, teine ​​kohtumine on täielikult pühendatud veataluvusele, miks valisite selle teema?

Cassandra on tüüpiline hõivatud hajutatud süsteem, millel on tohutul hulgal funktsioone peale kasutaja taotluste otsese teenindamise: kuulujutud, rikete tuvastamine, skeemimuudatuste levitamine, klastri laiendamine/vähendamine, entroopiavastane tegevus, varundamine ja taastamine jne. Nagu iga hajutatud süsteemi puhul, suureneb riistvara hulga suurenedes ka rikete tõenäosus, mistõttu on Cassandra tootmisklastrite tööks vaja sügavat arusaamist selle struktuurist, et ennustada käitumist rikete ja operaatori tegevuste korral. Pärast Cassandra kasutamist aastaid, me on kogunud märkimisväärseid teadmisi, mida oleme valmis jagama, samuti tahame arutada, kuidas kolleegid poes tüüpilisi probleeme lahendavad.

— Kui rääkida Cassandrast, siis mida sa mõtled veataluvuse all?

Esiteks muidugi süsteemi võime üle elada tüüpilised riistvararikked: masinate, ketaste või võrguühenduse kadumine sõlmede/andmekeskustega. Kuid teema ise on palju laiem ja hõlmab eelkõige tõrgetest taastumist, sealhulgas tõrkeid, milleks inimesed on harva valmis, näiteks operaatori vead.

— Kas saate tuua näite kõige koormatud ja suurima andmeklastri kohta?

Üks meie suurimaid klastreid on kingituste klaster: rohkem kui 200 sõlme ja sadu TB andmeid. Kuid see pole kõige koormatum, kuna see on kaetud hajutatud vahemäluga. Meie kõige aktiivsemad klastrid töötlevad kümneid tuhandeid RPS-i kirjutamiseks ja tuhandeid RPS-i lugemiseks.

- Vau! Kui tihti midagi katki läheb?

Jah kogu aeg! Kokku on meil üle 6 tuhande serveri ning iga nädal vahetatakse välja paar serverit ja mitukümmend ketast (arvestamata paralleelseid masinapargi uuendamise ja laiendamise protsesse). Iga riketüübi puhul on selged juhised, mida ja mis järjekorras teha, kõik on võimalusel automatiseeritud, seega on rikked rutiinsed ja 99% juhtudest tekivad kasutajatele märkamatult.

— Kuidas te selliste keeldudega toime tulete?

Cassandra töö algusest ja esimestest intsidentidest peale töötasime varundamise ja nendest taastamise mehhanismide kallal, ehitasime juurutusprotseduurid, mis võtavad arvesse Cassandra klastrite olekut ja näiteks ei võimalda sõlmede taaskäivitamist. kui andmete kadu on võimalik. Sellest kõigest plaanime kohtumisel rääkida.

— Nagu te ütlesite, absoluutselt töökindlaid süsteeme pole olemas. Millisteks ebaõnnestumisteks valmistute ja suudate ellu jääda?

Kui me räägime meie Cassandra klastrite installidest, siis kasutajad ei märka midagi, kui kaotame mitu masinat ühes alalisvoolus või ühe terve DC (seda on juhtunud). DC-de arvu kasvuga mõtleme hakata tagama töövõimet kahe DC rikke korral.

— Mis teie arvates Cassandra veataluvuses puudu jääb?

Cassandra, nagu ka paljud teised varased NoSQL-i poed, nõuab oma sisemise struktuuri ja toimuvate dünaamiliste protsesside sügavat mõistmist. Ma ütleks, et selles puudub lihtsus, etteaimatavus ja jälgitavus. Aga huvitav on kuulda ka teiste koosolekul osalejate arvamusi!

Oleg, suur aitäh, et leidsid aega küsimustele vastata!

Ootame kõiki, kes soovivad suhelda Apache Cassandra opereerimise valdkonna asjatundjatega 12. septembril meie Peterburi kontoris toimuvale meetupile.

Tule, see saab olema huvitav!

Registreeru üritusele.

Allikas: www.habr.com

Lisa kommentaar