Մինի հարցազրույց Օլեգ Անաստասևի հետ. սխալների հանդուրժողականություն Apache Cassandra-ում

Մինի հարցազրույց Օլեգ Անաստասևի հետ. սխալների հանդուրժողականություն Apache Cassandra-ում

Odnoklassniki-ն Apache Cassandra-ի ամենամեծ օգտագործողն է RuNet-ում և ամենամեծերից մեկն աշխարհում: Մենք սկսեցինք օգտագործել Cassandra-ն 2010 թվականին՝ լուսանկարների վարկանիշը պահելու համար, և այժմ Cassandra-ն կառավարում է petabytes տվյալներ հազարավոր հանգույցների վրա, իրականում մենք նույնիսկ մշակել ենք մեր սեփականը։ NewSQL գործարքային տվյալների բազա.
Սեպտեմբերի 12-ին Սանկտ Պետերբուրգի մեր գրասենյակում կանցկացնենք երկրորդ հանդիպումը՝ նվիրված Ապաչի Կասանդրային. Միջոցառման հիմնական բանախոսը կլինի Odnoklassniki-ի գլխավոր ինժեներ Օլեգ Անաստասևը։ Օլեգը բաշխված և սխալ հանդուրժող համակարգերի ոլորտում փորձագետ է, նա աշխատում է Կասանդրայի հետ ավելի քան 10 տարի և բազմիցս: խոսեց կոնֆերանսների ժամանակ այս ապրանքի օգտագործման առանձնահատկությունների մասին.

Հանդիպման նախօրեին մենք Օլեգի հետ խոսեցինք Կասանդրայի հետ բաշխված համակարգերի սխալ հանդուրժողականության մասին, հարցրինք, թե ինչի մասին է նա խոսելու հանդիպման ժամանակ և ինչու արժե մասնակցել այս միջոցառմանը:

Օլեգը ծրագրավորման կարիերան սկսել է դեռ 1995 թվականին։ Նա մշակել է ծրագրային ապահովում բանկային, հեռահաղորդակցության և տրանսպորտի ոլորտներում: Նա 2007 թվականից աշխատում է Odnoklassniki-ում որպես առաջատար ծրագրավորող՝ հարթակի թիմում։ Նրա պարտականությունները ներառում են ճարտարապետության և լուծումների մշակում բարձր բեռնվածության համակարգերի, տվյալների մեծ պահեստների համար և պորտալի աշխատանքի և հուսալիության խնդիրների լուծում: Նա նաև պատրաստում է ծրագրավորողներ ընկերության ներսում:

-Օլեգ, բարև: մայիսին տեղի ունեցավ առաջին հանդիպումԱպաչի Կասանդրային նվիրված, մասնակիցներն ասում են, որ քննարկումները շարունակվել են մինչև ուշ գիշեր, խնդրում եմ, ասեք, ի՞նչ տպավորություններ ունեք առաջին հանդիպումից։

Տարբեր ընկերություններից տարբեր ծագում ունեցող ծրագրավորողները եկել էին իրենց ցավով, խնդիրների անսպասելի լուծումներով և զարմանալի պատմություններով: Մեզ հաջողվեց հանդիպման մեծ մասն անցկացնել քննարկման ձևաչափով, բայց այնքան շատ քննարկումներ եղան, որ կարողացանք շոշափել նախատեսված թեմաների միայն մեկ երրորդը: Մենք մեծ ուշադրություն դարձրինք, թե ինչպես և ինչ ենք վերահսկում՝ օգտագործելով մեր իրական արտադրական ծառայությունների օրինակը։

Ինձ հետաքրքրեց և շատ դուր եկավ:

- Դատելով հայտարարությունից. երկրորդ հանդիպում ամբողջությամբ նվիրված կլինի սխալների հանդուրժողականությանը, ինչու՞ ընտրեցիք այս թեման:

Cassandra-ն տիպիկ զբաղված բաշխված համակարգ է, որն ունի հսկայական ֆունկցիոնալություն, որն ուղղակիորեն չի սպասարկում օգտվողների հարցումները. Ինչպես ցանկացած բաշխված համակարգում, քանի որ ապարատային քանակությունը մեծանում է, խափանումների հավանականությունը մեծանում է, այնպես որ Cassandra արտադրական կլաստերների շահագործումը պահանջում է դրա կառուցվածքի խորը պատկերացում՝ խափանումների և օպերատորի գործողությունների դեպքում վարքը կանխատեսելու համար: Երկար տարիներ Cassandra-ն օգտագործելուց հետո մենք կուտակել են զգալի փորձ, որը մենք պատրաստ ենք կիսվել, և ցանկանում ենք նաև քննարկել, թե ինչպես են խանութի գործընկերները լուծում բնորոշ խնդիրները։

- Երբ խոսքը վերաբերում է Կասանդրային, ի՞նչ նկատի ունեք սխալների հանդուրժողականություն ասելով:

Առաջին հերթին, իհարկե, համակարգի կարողությունը գոյատևելու տիպային ապարատային ձախողումներից. մեքենաների, սկավառակների կամ հանգույցների/տվյալների կենտրոնների հետ ցանցային կապի կորուստ: Բայց թեման ինքնին շատ ավելի լայն է և, մասնավորապես, ներառում է վերականգնում ձախողումներից, ներառյալ ձախողումները, որոնց համար մարդիկ հազվադեպ են պատրաստվում, օրինակ՝ օպերատորի սխալները:

— Կարո՞ղ եք բերել ամենաբեռնված և ամենամեծ տվյալների կլաստերի օրինակը:

Մեր ամենամեծ կլաստերներից մեկը նվերների կլաստերն է՝ ավելի քան 200 հանգույց և հարյուրավոր ՏԲ տվյալներ: Բայց դա ամենաբեռնվածը չէ, քանի որ ծածկված է բաշխված քեշով: Մեր ամենազբաղված կլաստերները մշակում են տասնյակ հազարավոր RPS գրելու և հազարավոր RPS՝ կարդալու համար:

-Վա՜յ: Որքա՞ն հաճախ է ինչ-որ բան կոտրվում:

Այո, անընդհատ! Ընդհանուր առմամբ, մենք ունենք ավելի քան 6 հազար սերվեր, և ամեն շաբաթ փոխարինվում են մի քանի սերվեր և մի քանի տասնյակ սկավառակ (առանց հաշվի առնելու մեքենաների պարկի թարմացման և ընդլայնման զուգահեռ գործընթացները): Խափանումների յուրաքանչյուր տեսակի համար կան հստակ հրահանգներ, թե ինչ անել և ինչ կարգով, ամեն ինչ ավտոմատացված է, երբ հնարավոր է, այնպես որ խափանումները սովորական են և 99% դեպքերում տեղի են ունենում աննկատ օգտագործողների կողմից:

- Ինչպե՞ս եք վերաբերվում նման մերժումներին:

Cassandra-ի շահագործման հենց սկզբից և առաջին միջադեպերից մենք աշխատել ենք դրանցից կրկնօրինակման և վերականգնման մեխանիզմների վրա, կառուցել տեղակայման ընթացակարգեր, որոնք հաշվի են առնում Cassandra կլաստերների վիճակը և, օրինակ, թույլ չեն տալիս վերագործարկել հանգույցները: եթե տվյալների կորուստը հնարավոր է: Այս ամենի մասին նախատեսում ենք խոսել հանդիպման ժամանակ։

— Ինչպես ասացիք, բացարձակապես հուսալի համակարգեր չկան։ Ի՞նչ տեսակի անհաջողությունների եք պատրաստվում և ի վիճակի եք հաղթահարել:

Եթե ​​խոսենք Cassandra կլաստերների մեր տեղադրումների մասին, օգտվողները ոչինչ չեն նկատի, եթե մենք կորցնենք մի քանի մեքենաներ մեկ DC-ում կամ մեկ ամբողջ DC-ում (դա տեղի է ունեցել): DC-ների քանակի աճով մենք մտածում ենք երկու DC-ների խափանման դեպքում սկսելու գործունակությունը ապահովելու մասին:

— Ի՞նչ եք կարծում, ի՞նչ է պակասում Կասանդրան սխալների հանդուրժողականության առումով:

Cassandra-ն, ինչպես շատ այլ վաղ NoSQL խանութներ, պահանջում է իր ներքին կառուցվածքի և տեղի ունեցող դինամիկ գործընթացների խորը պատկերացում: Ես կասեի, որ այն զուրկ է պարզությունից, կանխատեսելիությունից և դիտելիությունից։ Բայց հետաքրքիր կլինի լսել հանդիպման մյուս մասնակիցների կարծիքները։

Օլեգ, շատ շնորհակալ եմ հարցերին պատասխանելու համար ժամանակ տրամադրելու համար:

Սպասում ենք բոլոր նրանց, ովքեր ցանկանում են շփվել Apache Cassandra-ի շահագործման ոլորտի փորձագետների հետ սեպտեմբերի 12-ին Սանկտ Պետերբուրգի մեր գրասենյակում կայանալիք հանդիպմանը:

Արի, հետաքրքիր կլինի։

Գրանցվեք միջոցառմանը։

Source: www.habr.com

Добавить комментарий