Одноклассники - RuNet желісіндегі Apache Cassandra ең үлкен пайдаланушысы және әлемдегі ең үлкен пайдаланушылардың бірі. Біз 2010 жылы фотосурет рейтингтерін сақтау үшін Кассандраны пайдалана бастадық, ал қазір Кассандра мыңдаған түйіндердегі петабайт деректерін басқарады, шын мәнінде, біз тіпті өзімізді әзірледік.
12 қыркүйекте Санкт-Петербургтегі кеңсемізде өткіземіз
Кездесу қарсаңында біз Олегпен Кассандрамен бөлінген жүйелердің ақауларға төзімділігі туралы сөйлестік, кездесуде не туралы сөйлесетінін және неге бұл шараға қатысу керектігін сұрадық.
Олег өзінің бағдарламалау мансабын сонау 1995 жылы бастады. Ол банк, телекоммуникация және көлік салаларында бағдарламалық қамтамасыз етуді әзірледі. Ол 2007 жылдан бері Одноклассники сайтында платформа командасында жетекші әзірлеуші болып жұмыс істейді. Оның міндеттеріне жоғары жүктемелі жүйелер, үлкен деректер қоймалары үшін архитектуралар мен шешімдерді әзірлеу, порталдың өнімділігі мен сенімділігі мәселелерін шешу кіреді. Ол сонымен қатар компания ішінде әзірлеушілерді оқытады.
- Олег, сәлем! Мамыр айында өтті
Әртүрлі компаниялардан шыққан әр түрлі әзірлеушілер өздерінің азаптарымен, мәселелердің күтпеген шешімдерімен және таңғажайып оқиғаларымен келді. Кездесудің көп бөлігін пікірталас форматында өткізе алдық, бірақ талқылаулардың көп болғаны сонша, біз жоспарланған тақырыптардың үштен бір бөлігін ғана қозғай алдық. Біз нақты өндірістік қызметтерімізді мысалға ала отырып, қалай және нені бақылайтынымызға көп көңіл бөлдік.
Маған қызығып, қатты ұнады.
- Хабарландыруға қарағанда,
Кассандра - бұл пайдаланушы сұраныстарына тікелей қызмет көрсетуден тыс үлкен функционалдығы бар әдеттегі бос емес бөлінген жүйе: өсек, ақауларды анықтау, схема өзгерістерін тарату, кластерді кеңейту/азайту, энтропияға қарсы, резервтік көшірмелер және қалпына келтіру және т.б. Кез келген таратылған жүйедегідей, аппараттық құралдардың көлемі ұлғайған сайын істен шығу ықтималдығы артады, сондықтан Cassandra өндірістік кластерлерінің жұмысы сәтсіздіктер мен оператор әрекеттері жағдайында әрекетті болжау үшін оның құрылымын терең түсінуді талап етеді. Кассандраны көп жылдар бойы қолданғаннан кейін біз
— Кассандра туралы сөз болғанда, қатеге төзімділік дегенді қалай түсінесіз?
Ең алдымен, әрине, жүйенің әдеттегі аппараттық ақауларға төтеп беру қабілеті: машиналарды, дискілерді жоғалту немесе түйіндермен/деректер орталықтарымен желіге қосылу мүмкіндігі. Бірақ тақырыптың өзі әлдеқайда кең және атап айтқанда, сәтсіздіктерден қалпына келтіруді қамтиды, соның ішінде адамдар сирек дайындалатын сәтсіздіктер, мысалы, оператор қателері.
— Ең көп жүктелген және ең үлкен деректер кластеріне мысал келтіре аласыз ба?
Біздің ең үлкен кластерлеріміздің бірі сыйлық кластері: 200-ден астам түйін және жүздеген ТБ деректер. Бірақ ол ең жүктелген емес, өйткені ол таратылған кэшпен жабылған. Біздің ең белсенді кластерлер жазу үшін ондаған мың RPS және оқу үшін мыңдаған RPS өңдейді.
- Апыр-ай! Бір нәрсе қаншалықты жиі бұзылады?
— Мұндай бас тартулармен қалай күресесіз?
Кассандра жұмысының басынан және алғашқы оқиғалардан бастап біз сақтық көшірме жасау және олардан қалпына келтіру механизмдерімен жұмыс істедік, Кассандра кластерлерінің күйін ескеретін және, мысалы, түйіндерді қайта іске қосуға мүмкіндік бермейтін орналастыру процедураларын жасадық. деректер жоғалуы мүмкін болса. Осының барлығын кездесуде айтуды жоспарлап отырмыз.
— Өзіңіз айтқандай, мүлдем сенімді жүйелер жоқ. Сіз қандай сәтсіздіктерге дайындаласыз және оны жеңе аласыз?
Егер біз Кассандра кластерлерінің қондырғылары туралы айтатын болсақ, егер бір тұрақты токта немесе бір тұрақты токта бірнеше машинаны жоғалтсақ, пайдаланушылар ештеңені байқамайды (бұл орын алды). Тұрақты ток санының көбеюімен біз екі тұрақты ток істен шыққан жағдайда жұмыс қабілеттілігін қамтамасыз етуді бастау туралы ойлаймыз.
— Қателікке төзімділік тұрғысынан Кассандраға не жетіспейді деп ойлайсыз?
Cassandra, көптеген басқа ерте NoSQL дүкендері сияқты, оның ішкі құрылымын және болып жатқан динамикалық процестерді терең түсінуді талап етеді. Мен оған қарапайымдылық, болжамдылық және бақылаушылық жетіспейді дер едім. Бірақ басқа кездесуге қатысушылардың пікірлерін тыңдау қызықты болады!
Олег, сұрақтарға жауап беруге уақыт бөлгеніңіз үшін көп рахмет!
Біз Apache Cassandra операциясы саласындағы сарапшылармен сөйлескісі келетіндердің барлығын 12 қыркүйекте Санкт-Петербургтегі кеңсемізде өтетін кездесуде күтеміз.
Келіңіздер, қызық болады!
Ақпарат көзі: www.habr.com