Олег Анастасьев менен мини-маек: Апачи Кассандрадагы каталарга сабырдуулук

Олег Анастасьев менен мини-маек: Апачи Кассандрадагы каталарга сабырдуулук

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

Жолугушуунун алдында биз Олег менен Кассандра менен бөлүштүрүлгөн системалардын каталарына чыдамдуулук жөнүндө сүйлөштүк, жолугушууда эмне жөнүндө сүйлөшөрүн жана эмне үчүн бул иш-чарага баруу керек экенин сурадык.

Олег программалоочу карьерасын 1995-жылы баштаган. Ал банк, телеком жана транспорт тармагында программалык камсыздоону иштеп чыккан. Ал платформа командасында 2007-жылдан бери Одноклассникиде алдыңкы иштеп чыгуучу болуп иштейт. Анын милдеттерине жогорку жүктөмдүү системалар, чоң маалымат кампалары үчүн архитектураларды жана чечимдерди иштеп чыгуу, ошондой эле порталдын иштешинин жана ишенимдүүлүгүнүн көйгөйлөрүн чечүү кирет. Ал ошондой эле компаниянын ичинде иштеп чыгуучуларды окутат.

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

Ар кандай компаниялардан келген иштеп чыгуучулар өздөрүнүн азабы, күтүлбөгөн көйгөйлөрдү чечүү жолдору жана укмуштуу окуялары менен келишкен. Биз жолугушуулардын көбүн дискуссия форматында өткөрө алдык, бирок талкуулар ушунчалык көп болгондуктан, пландалган темалардын үчтөн бир бөлүгүнө гана токтоло алдык. Биз чыныгы өндүрүштүк кызматтарыбыздын мисалында кантип жана эмнени көзөмөлдөп жатканыбызга көп көңүл бурдук.

Мага кызыгып, абдан жакты.

- Жарыяга караганда, экинчи жолугушуу толугу менен күнөөгө сабырдуулукка арналат, эмне үчүн бул теманы тандап алдыңыз?

Кассандра – бул типтүү бош эмес бөлүштүрүлгөн система, колдонуучунун суроо-талаптарын түздөн-түз тейлөөдөн тышкары, чоң көлөмдөгү функционалдык мүмкүнчүлүктөр: ушак, каталарды аныктоо, схемаларды өзгөртүүнү жайылтуу, кластерди кеңейтүү/кичирейтүү, энтропияга каршы, резервдик көчүрүү жана калыбына келтирүү ж.б. Ар кандай бөлүштүрүлгөн системадагыдай эле, аппараттык камсыздоонун көлөмү көбөйгөн сайын, иштен чыгуу ыктымалдыгы көбөйөт, ошондуктан Кассандра өндүрүштүк кластерлеринин иштеши бузулуулар жана оператордун аракеттери учурунда жүрүм-турумун алдын ала айтуу үчүн анын структурасын терең түшүнүүнү талап кылат. Кассандраны көп жылдар бою колдонгондон кийин, биз олуттуу тажрыйба топтошту, биз бөлүшүүгө даярбыз, ошондой эле цехтеги кесиптештер типтүү көйгөйлөрдү кантип чечкенин талкуулагыбыз келет.

— Кеп Кассандрага келгенде, катачылыкка чыдамкайлык дегенди кандай түшүнөсүз?

Биринчи кезекте, албетте, системанын типтүү аппараттык бузулуулардан аман калуу жөндөмдүүлүгү: машиналарды, дисктерди же түйүндөр/маалымат борборлору менен тармактык байланышты жоготуу. Бирок теманын өзү алда канча кененирээк, атап айтканда, каталарды калыбына келтирүүнү, анын ичинде адамдар сейрек даярдалган каталарды, мисалы, оператордун каталарын камтыйт.

— Эң көп жүктөлгөн жана эң чоң маалымат кластерине мисал келтире аласызбы?

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

- Вау! Бир нерсе канчалык көп бузулат?

Ооба ар дайым! Жалпысынан бизде 6 миңден ашык сервер бар, жума сайын бир нече серверлер жана бир нече ондогон дисктер алмаштырылат (машина паркын жаңыртуу жана кеңейтүүнүн параллелдүү процесстерин эске албаганда). Ар бир мүчүлүштүктүн түрү үчүн эмне кылуу керектиги жана кандай тартипте так көрсөтмөлөр бар, мүмкүн болушунча бардыгы автоматташтырылган, андыктан мүчүлүштүктөр күнүмдүк болуп саналат жана 99% учурларда колдонуучулар байкабай пайда болот.

— Мындай баш тартуулар менен кантип күрөшөсүз?

Кассандранын иштешинин эң башынан жана биринчи инциденттерден тартып, биз резервдик көчүрүү жана аларды калыбына келтирүү механизмдеринин үстүндө иштедик, Кассандра кластерлеринин абалын эске алган жана, мисалы, түйүндөрдү кайра иштетүүгө жол бербеген жайылтуу процедураларын курдук. маалыматтарды жоготуу мүмкүн болсо. Мунун баарын жолугушууда сүйлөшөлү деп жатабыз.

— Сиз айткандай, таптакыр ишенимдүү системалар жок. Кандай мүчүлүштүктөргө даярданасыз жана аларды жеңе аласыз?

Эгер биз Кассандра кластерлеринин орнотуулары жөнүндө айтсак, бир DC же бүтүндөй DC бир нече машинаны жоготуп алсак, колдонуучулар эч нерсени байкабай калышат (бул болду). ДКнын санынын көбөйүшү менен биз эки ДК иштен чыккан учурда иштөө мүмкүнчүлүгүн камсыз кылууну баштоону ойлонуп жатабыз.

— Кандай деп ойлойсуз, Кассандрага катачылыкка чыдамкайлык жагынан эмне жетишпейт?

Кассандра, башка көптөгөн алгачкы NoSQL дүкөндөрү сыяктуу эле, анын ички түзүлүшүн жана болуп жаткан динамикалык процесстерди терең түшүнүүнү талап кылат. Жөнөкөйлүк, алдын ала айтуу жана байкоочулук жетишпейт деп айтаар элем. Бирок жолугушуунун башка катышуучуларынын пикирин угуу кызыктуу болот!

Олег, суроолорго жооп берүүгө убакыт бөлгөнүңүз үчүн чоң рахмат!

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

Келиңиз, кызыктуу болот!

Иш-чарага катталыңыз.

Source: www.habr.com

Комментарий кошуу