Mini interviu su Olegu Anastasjevu: Apache Cassandra gedimų tolerancija

Mini interviu su Olegu Anastasjevu: Apache Cassandra gedimų tolerancija

„Odnoklassniki“ yra didžiausias „Apache Cassandra“ naudotojas „RuNet“ ir vienas didžiausių pasaulyje. Nuo 2010 m. pradėjome naudoti „Cassandra“ nuotraukų įvertinimams saugoti, o dabar „Cassandra“ valdo petabaitus duomenų tūkstančiuose mazgų, iš tikrųjų net sukūrėme savo NewSQL operacijų duomenų bazė.
Rugsėjo 12 d. mūsų Sankt Peterburgo biure vyksime antrasis susitikimas, skirtas Apache Cassandra. Pagrindinis renginio pranešėjas – „Odnoklassniki“ vyriausiasis inžinierius Olegas Anastasjevas. Olegas yra paskirstytų ir gedimams atsparių sistemų ekspertas, su Cassandra dirba daugiau nei 10 metų ir ne kartą konferencijose kalbėjo apie šio gaminio naudojimo ypatybes.

Susitikimo išvakarėse su Olegu kalbėjomės apie paskirstytų sistemų gedimų toleranciją su Cassandra, klausėme, apie ką jis kalbės susitikime ir kodėl verta dalyvauti šiame renginyje.

Olegas savo programavimo karjerą pradėjo dar 1995 m. Sukurta programinė įranga bankininkystės, telekomunikacijų ir transporto srityse. Nuo 2007 m. jis dirba pagrindiniu Odnoklassniki kūrėju platformos komandoje. Jo pareigos apima architektūros ir sprendimų kūrimą didelės apkrovos sistemoms, didelėms duomenų saugykloms ir portalo našumo bei patikimumo problemų sprendimą. Jis taip pat rengia kūrėjus įmonėje.

- Olegai, labas! Gegužės mėnesį įvyko pirmas pasimatymas, skirta Apache Cassandra, dalyviai pasakoja, kad diskusijos vyko iki vėlaus vakaro, prašau, pasakykite, kokie jūsų įspūdžiai iš pirmojo susitikimo?

Kūrėjai, turintys skirtingą išsilavinimą iš skirtingų kompanijų, atėjo su savo skausmu, netikėtais problemų sprendimais ir nuostabiomis istorijomis. Didžiąją susitikimo dalį pavyko pravesti diskusijų formatu, tačiau diskusijų buvo tiek daug, kad galėjome paliesti tik trečdalį numatytų temų. Daug dėmesio skyrėme tam, kaip ir ką stebime realių gamybos paslaugų pavyzdžiu.

Man buvo įdomu ir labai patiko.

– Sprendžiant iš skelbimo, antrasis susitikimas bus visiškai skirtas atsparumui gedimams, kodėl pasirinkote šią temą?

„Cassandra“ yra tipiška užimta paskirstyta sistema, turinti daugybę funkcijų, be tiesioginio vartotojo užklausų aptarnavimo: paskalų, gedimų aptikimo, schemų pakeitimų sklaidos, klasterio išplėtimo / susitraukimo, antientropijos, atsarginių kopijų kūrimo ir atkūrimo ir kt. Kaip ir bet kurioje paskirstytoje sistemoje, didėjant aparatinės įrangos kiekiui, didėja gedimų tikimybė, todėl Cassandra gamybos klasterių veikimas reikalauja gilaus jų struktūros supratimo, kad būtų galima numatyti elgesį gedimų ir operatoriaus veiksmų atveju. Daug metų naudoję „Cassandra“, mes sukaupė didelę patirtį, kuria esame pasiruošę pasidalinti, taip pat norime aptarti, kaip kolegos parduotuvėje sprendžia tipines problemas.

– Ką reiškia tolerancija gedimams, kalbant apie Kasandrą?

Visų pirma, žinoma, sistemos gebėjimas išgyventi tipiškus techninės įrangos gedimus: mašinų, diskų ar tinklo ryšio su mazgais / duomenų centrais praradimą. Tačiau pati tema yra daug platesnė ir ypač apima atsigavimą po gedimų, įskaitant gedimus, kuriems žmonės retai pasiruošę, pavyzdžiui, operatoriaus klaidas.

— Ar galite pateikti labiausiai apkrauto ir didžiausio duomenų klasterio pavyzdį?

Viena didžiausių mūsų grupių yra dovanų grupė: daugiau nei 200 mazgų ir šimtai TB duomenų. Tačiau jis nėra labiausiai įkeltas, nes jį dengia paskirstyta talpykla. Mūsų aktyviausios grupės apdoroja dešimtis tūkstančių RPS rašant ir tūkstančius RPS skaitymui.

- Oho! Kaip dažnai kažkas sugenda?

Taip visą laiką! Iš viso turime daugiau nei 6 tūkstančius serverių, kas savaitę keičiama pora serverių ir keliasdešimt diskų (neatsižvelgiant į lygiagrečius mašinų parko atnaujinimo ir išplėtimo procesus). Kiekvienam gedimo tipui yra aiškios instrukcijos, ką daryti ir kokia tvarka, viskas, kai tik įmanoma, yra automatizuota, todėl gedimai yra įprasti ir 99% atvejų atsiranda nepastebėti vartotojų.

– Kaip elgiatės su tokiais atsisakymais?

Nuo pat „Cassandra“ veikimo pradžios ir pirmųjų incidentų dirbome su atsarginių kopijų kūrimo ir atkūrimo iš jų mechanizmais, sukūrėme diegimo procedūras, kurios atsižvelgia į „Cassandra“ grupių būseną ir, pavyzdžiui, neleidžiame iš naujo paleisti mazgų. jei galimas duomenų praradimas. Apie visa tai planuojame pasikalbėti susitikime.

– Kaip sakėte, visiškai patikimų sistemų nėra. Kokioms gedimams ruošiatės ir sugebate susidoroti?

Jei kalbėsime apie mūsų „Cassandra“ grupių diegimus, vartotojai nieko nepastebės, jei prarasime kelias mašinas vienoje DC arba vieną visą DC (taip nutiko). Didėjant nuolatinės srovės skaičiui, galvojame apie galimybę pradėti užtikrinti veikimą sugedus dviems DC.

– Kaip manote, ko Kasandrai trūksta tolerancijos gedimams?

Cassandra, kaip ir daugelis kitų ankstyvųjų NoSQL parduotuvių, reikalauja gilaus supratimo apie savo vidinę struktūrą ir vykstančius dinaminius procesus. Sakyčiau, jam trūksta paprastumo, nuspėjamumo ir pastebimumo. Bet bus įdomu išgirsti kitų susitikimo dalyvių nuomones!

Olegai, labai ačiū, kad skyrėte laiko atsakyti į klausimus!

Visų norinčių pabendrauti su Apache Cassandra veiklos srities ekspertais laukiame susitikime rugsėjo 12 dieną mūsų Sankt Peterburgo biure.

Ateik, bus įdomu!

Registruokitės į renginį.

Šaltinis: www.habr.com

Добавить комментарий