Олег Анастасьевпен шағын сұхбат: Апачи Кассандрадағы ақауларға төзімділік

Олег Анастасьевпен шағын сұхбат: Апачи Кассандрадағы ақауларға төзімділік

Одноклассники - RuNet желісіндегі Apache Cassandra ең үлкен пайдаланушысы және әлемдегі ең үлкен пайдаланушылардың бірі. Біз 2010 жылы фотосурет рейтингтерін сақтау үшін Кассандраны пайдалана бастадық, ал қазір Кассандра мыңдаған түйіндердегі петабайт деректерін басқарады, шын мәнінде, біз тіпті өзімізді әзірледік. NewSQL транзакциялық деректер қоры.
12 қыркүйекте Санкт-Петербургтегі кеңсемізде өткіземіз Апачи Кассандраға арналған екінші кездесу. Шараның басты спикері Одноклассники бас инженері Олег Анастасьев болады. Олег бөлінген және ақауларға төзімді жүйелер саласындағы сарапшы, ол Кассандрамен 10 жылдан астам жұмыс істейді және бірнеше рет конференцияларда осы өнімді пайдалану ерекшеліктері туралы айтты.

Кездесу қарсаңында біз Олегпен Кассандрамен бөлінген жүйелердің ақауларға төзімділігі туралы сөйлестік, кездесуде не туралы сөйлесетінін және неге бұл шараға қатысу керектігін сұрадық.

Олег өзінің бағдарламалау мансабын сонау 1995 жылы бастады. Ол банк, телекоммуникация және көлік салаларында бағдарламалық қамтамасыз етуді әзірледі. Ол 2007 жылдан бері Одноклассники сайтында платформа командасында жетекші әзірлеуші ​​болып жұмыс істейді. Оның міндеттеріне жоғары жүктемелі жүйелер, үлкен деректер қоймалары үшін архитектуралар мен шешімдерді әзірлеу, порталдың өнімділігі мен сенімділігі мәселелерін шешу кіреді. Ол сонымен қатар компания ішінде әзірлеушілерді оқытады.

- Олег, сәлем! Мамыр айында өтті алғашқы кездесу, Апачи Кассандраға арналған, қатысушылар пікірталас түннің бір уағына дейін созылғанын айтады, айтыңызшы, алғашқы кездесуден алған әсерлеріңіз қандай?

Әртүрлі компаниялардан шыққан әр түрлі әзірлеушілер өздерінің азаптарымен, мәселелердің күтпеген шешімдерімен және таңғажайып оқиғаларымен келді. Кездесудің көп бөлігін пікірталас форматында өткізе алдық, бірақ талқылаулардың көп болғаны сонша, біз жоспарланған тақырыптардың үштен бір бөлігін ғана қозғай алдық. Біз нақты өндірістік қызметтерімізді мысалға ала отырып, қалай және нені бақылайтынымызға көп көңіл бөлдік.

Маған қызығып, қатты ұнады.

- Хабарландыруға қарағанда, екінші кездесу толығымен ақауларға төзімділікке арналған болады, неге бұл тақырыпты таңдадыңыз?

Кассандра - бұл пайдаланушы сұраныстарына тікелей қызмет көрсетуден тыс үлкен функционалдығы бар әдеттегі бос емес бөлінген жүйе: өсек, ақауларды анықтау, схема өзгерістерін тарату, кластерді кеңейту/азайту, энтропияға қарсы, резервтік көшірмелер және қалпына келтіру және т.б. Кез келген таратылған жүйедегідей, аппараттық құралдардың көлемі ұлғайған сайын істен шығу ықтималдығы артады, сондықтан Cassandra өндірістік кластерлерінің жұмысы сәтсіздіктер мен оператор әрекеттері жағдайында әрекетті болжау үшін оның құрылымын терең түсінуді талап етеді. Кассандраны көп жылдар бойы қолданғаннан кейін біз айтарлықтай тәжірибе жинақтады, біз бөлісуге дайынбыз, сонымен қатар біз цехтағы әріптестердің типтік мәселелерді қалай шешетінін талқылағымыз келеді.

— Кассандра туралы сөз болғанда, қатеге төзімділік дегенді қалай түсінесіз?

Ең алдымен, әрине, жүйенің әдеттегі аппараттық ақауларға төтеп беру қабілеті: машиналарды, дискілерді жоғалту немесе түйіндермен/деректер орталықтарымен желіге қосылу мүмкіндігі. Бірақ тақырыптың өзі әлдеқайда кең және атап айтқанда, сәтсіздіктерден қалпына келтіруді қамтиды, соның ішінде адамдар сирек дайындалатын сәтсіздіктер, мысалы, оператор қателері.

— Ең көп жүктелген және ең үлкен деректер кластеріне мысал келтіре аласыз ба?

Біздің ең үлкен кластерлеріміздің бірі сыйлық кластері: 200-ден астам түйін және жүздеген ТБ деректер. Бірақ ол ең жүктелген емес, өйткені ол таратылған кэшпен жабылған. Біздің ең белсенді кластерлер жазу үшін ондаған мың RPS және оқу үшін мыңдаған RPS өңдейді.

- Апыр-ай! Бір нәрсе қаншалықты жиі бұзылады?

Иә әрқашан! Бізде барлығы 6 мыңнан астам серверлер бар және апта сайын бірнеше серверлер мен бірнеше ондаған дискілер ауыстырылады (машиналар паркін жаңарту мен кеңейтудің параллельді процестерін есепке алмағанда). Ақаулықтың әрбір түрі үшін не істеу керектігі және қандай тәртіппен орындалатыны туралы нақты нұсқаулар бар, барлығы мүмкіндігінше автоматтандырылған, сондықтан сәтсіздіктер әдеттегі болып табылады және 99% жағдайда пайдаланушылар байқамай қалады.

— Мұндай бас тартулармен қалай күресесіз?

Кассандра жұмысының басынан және алғашқы оқиғалардан бастап біз сақтық көшірме жасау және олардан қалпына келтіру механизмдерімен жұмыс істедік, Кассандра кластерлерінің күйін ескеретін және, мысалы, түйіндерді қайта іске қосуға мүмкіндік бермейтін орналастыру процедураларын жасадық. деректер жоғалуы мүмкін болса. Осының барлығын кездесуде айтуды жоспарлап отырмыз.

— Өзіңіз айтқандай, мүлдем сенімді жүйелер жоқ. Сіз қандай сәтсіздіктерге дайындаласыз және оны жеңе аласыз?

Егер біз Кассандра кластерлерінің қондырғылары туралы айтатын болсақ, егер бір тұрақты токта немесе бір тұрақты токта бірнеше машинаны жоғалтсақ, пайдаланушылар ештеңені байқамайды (бұл орын алды). Тұрақты ток санының көбеюімен біз екі тұрақты ток істен шыққан жағдайда жұмыс қабілеттілігін қамтамасыз етуді бастау туралы ойлаймыз.

— Қателікке төзімділік тұрғысынан Кассандраға не жетіспейді деп ойлайсыз?

Cassandra, көптеген басқа ерте NoSQL дүкендері сияқты, оның ішкі құрылымын және болып жатқан динамикалық процестерді терең түсінуді талап етеді. Мен оған қарапайымдылық, болжамдылық және бақылаушылық жетіспейді дер едім. Бірақ басқа кездесуге қатысушылардың пікірлерін тыңдау қызықты болады!

Олег, сұрақтарға жауап беруге уақыт бөлгеніңіз үшін көп рахмет!

Біз Apache Cassandra операциясы саласындағы сарапшылармен сөйлескісі келетіндердің барлығын 12 қыркүйекте Санкт-Петербургтегі кеңсемізде өтетін кездесуде күтеміз.

Келіңіздер, қызық болады!

Іс-шараға тіркелу.

Ақпарат көзі: www.habr.com

пікір қалдыру