Odnoklassniki on suurin Apache Cassandran käyttäjä RuNetissä ja yksi suurimmista maailmassa. Aloimme käyttää Cassandraa vuonna 2010 kuvien arvioiden tallentamiseen, ja nyt Cassandra hallitsee petabyyttiä dataa tuhansista solmuista, itse asiassa kehitimme jopa oman.
12. syyskuuta Pietarin toimistollamme pidetään
Tapaamisen aattona keskustelimme Olegin kanssa hajautettujen järjestelmien vikasietoisuudesta Cassandralla, kysyimme, mistä hän puhuisi tapaamisessa ja miksi tähän tapahtumaan kannattaa osallistua.
Oleg aloitti ohjelmointiuransa vuonna 1995. Hän kehitti ohjelmistoja pankki-, tietoliikenne- ja kuljetusalalle. Hän on työskennellyt johtavana kehittäjänä Odnoklassnikissa vuodesta 2007 alustatiimissä. Hänen tehtäviinsä kuuluu arkkitehtuurien ja ratkaisujen kehittäminen suuren kuormituksen järjestelmiin, suuriin tietovarastoihin sekä portaalin suorituskykyyn ja luotettavuuteen liittyvien ongelmien ratkaiseminen. Hän myös kouluttaa yrityksen sisällä kehittäjiä.
- Oleg, hei! Toukokuussa tapahtui
Kehittäjät, joilla on eri taustat eri yrityksistä, tulivat omalla tuskallaan, odottamattomilla ratkaisuilla ongelmiin ja upeisiin tarinoihin. Suurin osa tapaamisesta onnistui järjestämään keskustelumuodossa, mutta keskusteluja oli niin paljon, että pystyimme koskemaan vain kolmannekseen suunnitelluista aiheista. Kiinnitimme paljon huomiota siihen, miten ja mitä valvomme todellisten tuotantopalveluidemme esimerkin avulla.
Olin kiinnostunut ja pidin siitä todella.
- Ilmoituksesta päätellen
Cassandra on tyypillinen kiireinen hajautettu järjestelmä, jossa on valtava määrä toimintoja suoran käyttäjien pyyntöjen palvelemisen lisäksi: juorut, vikojen havaitseminen, skeeman muutosten eteneminen, klusterin laajentaminen/vähentäminen, entropian esto, varmuuskopiointi ja palautus jne. Kuten kaikissa hajautetuissa järjestelmissä, laitteiston määrän kasvaessa vikojen todennäköisyys kasvaa, joten Cassandra-tuotantoklusterien toiminta edellyttää syvällistä ymmärrystä sen rakenteesta, jotta voidaan ennustaa käyttäytymistä vikatilanteissa ja operaattorin toimissa. Käytyämme Cassandraa useiden vuosien ajan, me
— Mitä tarkoitat Cassandrassa vikasietoisuudella?
Ensinnäkin tietysti järjestelmän kyky selviytyä tyypillisistä laitteistovioista: koneiden, levyjen tai verkkoyhteyden katoamisesta solmujen/tietokeskusten kanssa. Mutta itse aihe on paljon laajempi ja sisältää erityisesti toipumisen häiriöistä, mukaan lukien viat, joihin ihmiset ovat harvoin varautuneet, esimerkiksi operaattorivirheet.
— Voitko antaa esimerkin eniten kuormitetusta ja suurimmasta tietoklusterista?
Yksi suurimmista klustereistamme on lahjaklusteri: yli 200 solmua ja satoja teratavuja dataa. Mutta se ei ole eniten ladattu, koska se on hajautetun välimuistin peitossa. Vilkkaimmat klusterimme käsittelevät kymmeniä tuhansia RPS:itä kirjoittamiseen ja tuhansia RPS:itä lukemiseen.
- Vau! Kuinka usein jokin menee rikki?
– Miten suhtaudut sellaisiin kieltäytymiseen?
Cassandran toiminnan alusta ja ensimmäisistä tapauksista lähtien olemme työstäneet varmuuskopiointi- ja niistä palautusmekanismeja, rakentaneet käyttöönottomenettelyjä, jotka ottavat huomioon Cassandra-klusterien tilan ja esimerkiksi eivät salli solmujen uudelleenkäynnistystä. jos tietojen menetys on mahdollista. Aiomme puhua tästä kaikesta tapaamisessa.
– Kuten sanoit, täysin luotettavia järjestelmiä ei ole olemassa. Millaisiin epäonnistumisiin varaudut ja pystyt käsittelemään?
Jos puhumme Cassandra-klusterien asennuksista, käyttäjät eivät huomaa mitään, jos menetämme useita koneita yhdessä DC:ssä tai yhden kokonaisen DC:n (tätä on tapahtunut). Tasavirtapiirien määrän lisääntyessä harkitsemme aloittavamme toimivuuden varmistamisen kahden DC:n vian sattuessa.
— Mitä Cassandralta mielestäsi puuttuu vikasietokyky?
Cassandra, kuten monet muutkin varhaiset NoSQL-myymälät, vaatii syvällistä ymmärrystä sen sisäisestä rakenteesta ja tapahtuvista dynaamisista prosesseista. Sanoisin, että siitä puuttuu yksinkertaisuus, ennustettavuus ja havaittavuus. Mutta on mielenkiintoista kuulla muiden kokoukseen osallistuneiden mielipiteitä!
Oleg, kiitos paljon, kun otit aikaa vastata kysymyksiin!
Odotamme kaikkia, jotka haluavat kommunikoida Apache Cassandra -toiminta-alan asiantuntijoiden kanssa tapaamiseen 12. Pietarin toimistollamme.
Tule, siitä tulee mielenkiintoista!
Lähde: will.com