Miniekspert Oleg Anastasjev: talitavus Apache Cassandra's

Miniekspert Oleg Anastasjev: talitavus Apache Cassandra's

Odnoklassniki on suurim Apache Cassandra kasutaja Venemere piirkonnas ja üks suurimaid maailmas. Alustasime Cassandra kasutamist 2010. aastal fotode hindade salvestamiseks, ja praegu hallatakse Cassandra all petabaitide andmeid tuhandetes sõlmedes, lisaks on me isegi välja töötanud oma NewSQL tehinguandmebaas.
12. septembril korraldame oma Peterburi kontoris teisest koosolekust, mis on pühendatud Apache Cassandra'le. Peaesinejaks on Odnoklassniki peainsener Oleg Anastasjev. Oleg on ekspert hajutatud ja talitavatetes süsteemides, ta on töötanud Cassandraga juba üle 10 aasta ning on korduvalt rääkinud selle toote kasutamise eripäradest konverentsidel.

Koosoleku eel rääkisime Olegiga hajutatud süsteemide talitavusest Cassandra abil, uurisime, millest ta koosolekul räägib ja miks tasub sellele üritusele tulla.

Oleg alustas oma programmeerijakarjääri 1995. aastal. Ta arendas tarkvara panganduses, telekommunikatsioonis ja transpordis. Alates 2007. aastast töötab ta juhtiva arendajana Odnoklassnikis, platvormi meeskonnas. Tema ülesannete hulka kuulub kõrgelt koormatud süsteemide, suurte andmesalvestite arhitektuuride ja lahenduste väljatöötamine ning portaali jõudlus- ja usaldusprobleemide lahendamine. Samuti tegeleb ta ettevõtte sees arendajate koolitamisega.

— Oleg, tere! Mais toimus esimene meet-up, mis oli pühendatud Apache Cassandra'le. Osalejad räägivad, et arutelud kestsid hiliste öötundideni. Palun räägi, millised on sinu muljed esimesest meet-upist?

Kohtumisele tulid arendajad erineva taustaga erinevatest ettevõtetest, et jagada oma muresid, ootamatuid probleemilahendusi ja hämmastavaid lugusid. Õnnestus veeta suur osa kohtumisest arutelu formaadis, kuid arutelusid oli nii palju, et me suutsime käsitleda vaid kolmandikku planeeritud teemadest. Palju tähelepanu pöörati sellele, kuidas ja mida me jälgime, tuues näiteid meie tegelikest tootmisteenustest.

See oli mulle huvitav ja väga meeldis.

— Ahnokirjeldusest lähtuvalt teisest meet-upist on täielikult pühendatud rikete taluvusele, miks valisite just selle teema?

Cassandra on tüüpiline koormatud jaotatud süsteem, millel on tohutult funktsioone peale kasutaja päringute töötlemise: gossip, rikete tuvastamine, skeemimuudatuste levitamine, klastrite suurendamine/vähendamine, anti-entropy, varundamine ja taastamine jne. Nagu mistahes jaotatud süsteemis, suureneb riketega kokku puutuva riski võimalus koos riistvara kasvuga, mistõttu tööstuslike Cassandra klastrite haldamine nõuab sügavat arusaamist selle toimimisest, et ennustada käitumist rikete korral ja operaatori tegevust. Aastate jooksul, mil me oleme Cassandra't kasutanud, oleme omandanud märkimisväärse ekspertiisi, mida oleme valmis jagama, samuti tahan arutada, kuidas kolleegid valdkonnas lahendavad tüüpilisi probleeme.

— Kui jutt on Cassandra'st, mida sa mõistad rikete taluvuse all?

Esiteks muidugi süsteemi võime taluda typilisi riistvara tõrkeid: masinate, ketaste või võrguühenduse kadumist sõlmedega/andmekeskustega. Kuid teema on palju laiem ja hõlmab ka tõrkejärgset taastumist, sealhulgas tõrkeid, milleks inimesed harva valmis on, näiteks kasutaja vigu.

— Kas saad tuua näite kõige koormatumast ja suurimast andmeklastris?

Üks meie suurimaid klastri on kingitusklaster: rohkem kui 200 sõlme ja sadadest TB andmeid. Kuid see ei ole kõige koormatum, kuna see on varustatud jaotatud vahemäluga. Meie kõige koormatumad klastrid hoidavad kümneid tuhandeid RPS kirjutamise ajal ja tuhandeid RPS lugemise ajal.

— Vau! Kui tihti midagi katki läheb?

Jah, pidevalt.! Kokku on meil üle 6000 serveri, ja iga nädal vahetatakse välja paar serverit ja mitu tosinat ketast (mitte arvestades paralleelseid uuendamise ja laiendamise protsesse). Iga rikke tüübi jaoks on kirjutatud selge juhis, mida ja mis järjekorras teha, kõik on võimalusel automatiseeritud, seega on rikete käsitlemine rutiinne ja 99% juhtudest jääb kasutajatele märkamatuks.

— Kuidas te selliste riketega toime tulete?

Alates Cassandra kasutuselevõtust ja esimestest juhtumitest oleme töötanud välja varukoopiate ja taastamise mehhanismid, loonud deploy-protseduurid, mis arvestavad Cassandra klastrite seisundit ja näiteks ei lase uuesti käivitada sõlmi, kui andmete kaotus on võimalik. Me kavatseme sellest kõigest rääkida kohtumisel.

— Nagu sa ütlesid, ei ole täiesti usaldusväärseid süsteeme eksisteerimas. Milliste riketega te valmistute ja kas te suudate need üle elada?

Rääkides meie Cassandra klastrite paigaldustest, ei märka kasutajad, kui me kaotame mõned masinad ühes andmekeskuses või isegi ühe andmekeskuse tervikuna (selliseid olukordi on juhtunud). Andmekeskuste arvu kasvades mõtleme sellele, et alustada töökindluse tagamist kahe andmekeskuse rikke korral.

— Mida sinu arvates Cassandra-l ülevaatuskindluse osas puudu jääb?

Cassandra, nagu paljud teised varasemad NoSQL andmehoidlad, nõuab selle sisemise struktuuri ja toimuvaid dünaamilisi protsesse sügavat mõistmist. Ütleksin, et tal puudub lihtsus, etteennustatavus ja jälgitavus. Oleks huvitav kuulda teiste osalejate arvamust!

Oleg, suur tänu, et leidsite aega vastata küsimustele!

Ootame kõiki, kes soovivad suhelda Apache Cassandra kasutamise ekspertidega 12. septembril meie Peterburi kontorisse.

Tulge külla, see saab olema huvitav!

Registreeru üritusele.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster