Олег Анастасьевтай хийсэн бэсрэг ярилцлага: Апачи Кассандра дахь алдааг тэсвэрлэх чадвар

Олег Анастасьевтай хийсэн бэсрэг ярилцлага: Апачи Кассандра дахь алдааг тэсвэрлэх чадвар

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

Уулзалтын өмнөх өдөр бид Олегтой Кассандратай тараасан системийн алдааг тэсвэрлэх чадварын талаар ярилцаж, уулзалтын үеэр юу ярих, яагаад энэ арга хэмжээнд оролцох нь зүйтэй вэ гэдгийг асуув.

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

- Олег, сайн уу! Тавдугаар сард болсон анхны уулзалт, Апачи Кассандра-д зориулсан, хэлэлцүүлэг шөнө дөл болтол үргэлжилсэн гэж оролцогчид хэлж байна. Анхны уулзалтын талаар танд ямар сэтгэгдэл төрж байна вэ?

Янз бүрийн компаниудын өөр өөр гарал үүсэлтэй хөгжүүлэгчид өөрсдийн зовлон зүдгүүр, асуудлыг шийдэх гэнэтийн шийдэл, гайхалтай түүхүүдтэй ирсэн. Бид ихэнх уулзалтыг хэлэлцүүлгийн хэлбэрээр зохион байгуулж чадсан ч маш олон хэлэлцүүлэг байсан тул төлөвлөсөн сэдвүүдийн гуравны нэгийг л хөндөж чадсан. Бодит үйлдвэрлэлийн үйлчилгээнийхээ жишээн дээр бид хэрхэн, юуг хянадаг вэ гэдэгт их анхаарсан.

Би сонирхож байсан бөгөөд үнэхээр таалагдсан.

-Мэдэгдэлээс харахад, хоёр дахь уулзалт алдааг тэсвэрлэхэд бүрэн зориулагдах болно, та яагаад энэ сэдвийг сонгосон бэ?

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

- Кассандрагийн тухайд та алдааг тэсвэрлэх чадвар гэж юу гэсэн үг вэ?

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

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

Манай хамгийн том кластеруудын нэг бол бэлгийн кластер юм: 200 гаруй зангилаа, олон зуун TB өгөгдөл. Гэхдээ энэ нь тархсан кэшээр бүрхэгдсэн тул хамгийн их ачаалалтай биш юм. Манай хамгийн ачаалалтай кластерууд бичихэд зориулсан хэдэн арван мянган RPS, уншихад зориулсан олон мянган RPS-ийг зохицуулдаг.

- Хөөх! Ямар нэг зүйл хэр олон удаа эвдэрдэг вэ?

Тиймээ үргэлж! Бид нийтдээ 6 мянга гаруй сервертэй бөгөөд долоо хоног бүр хэд хэдэн сервер, хэдэн арван диск солигддог (машины флотыг шинэчлэх, өргөтгөх зэрэг үйл явцыг харгалзахгүйгээр). Гэмтлийн төрөл бүрийн хувьд юу хийх, ямар дарааллаар хийх талаар тодорхой зааварчилгаа байдаг бөгөөд боломжтой бол бүх зүйл автоматжуулсан байдаг тул алдаа нь тогтмол байдаг бөгөөд тохиолдлын 99% нь хэрэглэгчдэд анзаарагдахгүй байдаг.

-Иймэрхүү татгалзсан хариуг хэрхэн хүлээж авдаг вэ?

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

- Таны хэлсэнчлэн туйлын найдвартай систем гэж байдаггүй. Та ямар төрлийн бүтэлгүйтэлд бэлдэж, даван туулах чадвартай вэ?

Хэрэв бид Кассандра кластеруудыг суулгасан тухай ярих юм бол нэг DC эсвэл нэг бүхэл бүтэн DC-д хэд хэдэн машин алдвал хэрэглэгчид юу ч анзаарахгүй (энэ нь болсон). Тогтмол гүйдлийн тоо нэмэгдэхийн хэрээр бид хоёр DC доголдсон тохиолдолд ажиллах чадварыг хангаж эхлэх талаар бодож байна.

- Таны бодлоор Кассандра алдааг тэсвэрлэх тал дээр юу дутагдаж байна вэ?

Кассандра нь бусад олон эртний NoSQL дэлгүүрүүдийн нэгэн адил дотоод бүтэц, өрнөж буй динамик үйл явцын талаар гүнзгий ойлголттой байхыг шаарддаг. Энгийн байдал, урьдчилан таамаглах, ажиглах чадвар дутмаг гэж би хэлмээр байна. Гэхдээ бусад уулзалтад оролцогчдын санал бодлыг сонсох нь сонирхолтой байх болно!

Олег, асуултанд цаг зав гарган хариулсанд маш их баярлалаа!

Бид 12-р сарын XNUMX-нд Санкт-Петербург дахь оффис дээр болох Apache Cassandra-ийн үйл ажиллагааны чиглэлээр мэргэшсэн мэргэжилтнүүдтэй харилцах хүсэлтэй бүх хүмүүсийг хүлээж байна.

Ирээрэй, сонирхолтой байх болно!

Арга хэмжээнд бүртгүүлнэ үү.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх