مینی مصاحبه با اولگ آناستاسیف: تحمل خطا در آپاچی کاساندرا

مینی مصاحبه با اولگ آناستاسیف: تحمل خطا در آپاچی کاساندرا

Odnoklassniki بزرگترین کاربر آپاچی کاساندرا در RuNet و یکی از بزرگترین کاربران در جهان است. ما از سال 2010 استفاده از کاساندرا را برای ذخیره رتبه بندی عکس ها شروع کردیم و اکنون کاساندرا پتابایت ها از داده ها را بر روی هزاران گره مدیریت می کند، در واقع ما حتی خودمان را توسعه دادیم. پایگاه داده تراکنشی NewSQL.
در 12 سپتامبر در دفتر سنت پترزبورگ ما برگزار خواهیم کرد دومین ملاقات اختصاص داده شده به آپاچی کاساندرا. سخنران اصلی این رویداد، مهندس ارشد Odnoklassniki اولگ آناستاسیف خواهد بود. اولگ متخصص در زمینه سیستم های توزیع شده و مقاوم در برابر خطا است؛ او بیش از 10 سال است که با کاساندرا کار می کند و بارها و بارها. در مورد ویژگی های استفاده از این محصول در کنفرانس ها صحبت کرد.

در آستانه جلسه، با اولگ در مورد تحمل خطای سیستم های توزیع شده با کاساندرا صحبت کردیم، از او پرسیدیم که در جلسه درباره چه چیزی صحبت خواهد کرد و چرا ارزش شرکت در این رویداد را دارد.

اولگ حرفه برنامه نویسی خود را در سال 1995 آغاز کرد. او نرم افزارهای بانکی، مخابراتی و حمل و نقل را توسعه داد. او از سال 2007 به عنوان یک توسعه دهنده پیشرو در Odnoklassniki در تیم پلتفرم کار می کند. مسئولیت‌های او شامل توسعه معماری‌ها و راه‌حل‌هایی برای سیستم‌های با بار بالا، انبارهای داده بزرگ، و حل مشکلات عملکرد و قابلیت اطمینان پورتال است. او همچنین توسعه دهندگان را در داخل شرکت آموزش می دهد.

- اولگ، سلام! در ماه می انجام شد اولین ملاقات، تقدیم به آپاچی کاساندرا، شرکت کنندگان می گویند که بحث ها تا پاسی از شب ادامه داشت، لطفاً به من بگویید، برداشت شما از اولین ملاقات چیست؟

توسعه دهندگان با پیشینه های مختلف از شرکت های مختلف با درد خود، راه حل های غیرمنتظره برای مشکلات و داستان های شگفت انگیز آمدند. ما موفق شدیم بیشتر جلسه را در قالب بحث انجام دهیم، اما بحث های زیادی وجود داشت که فقط توانستیم یک سوم موضوعات برنامه ریزی شده را لمس کنیم. ما توجه زیادی به نحوه و آنچه که با استفاده از نمونه خدمات تولید واقعی خود نظارت می کنیم، داشتیم.

من علاقه مند بودم و واقعاً آن را دوست داشتم.

- با قضاوت بر اساس اعلامیه، ملاقات دوم به طور کامل به تحمل خطا اختصاص داده خواهد شد، چرا این موضوع را انتخاب کردید؟

Cassandra یک سیستم پرمشغله توزیع شده معمولی با مقدار زیادی عملکرد فراتر از سرویس دهی مستقیم به درخواست های کاربر است: شایعات، تشخیص شکست، انتشار تغییرات طرحواره، گسترش/کاهش خوشه، ضد آنتروپی، پشتیبان گیری و بازیابی و غیره. همانطور که در هر سیستم توزیع شده، با افزایش مقدار سخت افزار، احتمال خرابی افزایش می یابد، بنابراین عملکرد خوشه های تولید کاساندرا نیاز به درک عمیق ساختار آن برای پیش بینی رفتار در صورت خرابی و اقدامات اپراتور دارد. پس از سالها استفاده از کاساندرا، ما تخصص قابل توجهی را جمع آوری کرده اند، که ما آماده به اشتراک گذاشتن آن هستیم و همچنین می خواهیم در مورد چگونگی حل مشکلات معمولی توسط همکاران در فروشگاه بحث کنیم.

- وقتی صحبت از کاساندرا می شود، منظورتان از تحمل خطا چیست؟

البته اول از همه، توانایی سیستم برای زنده ماندن از خرابی های سخت افزاری معمولی است: از دست دادن ماشین ها، دیسک ها یا اتصال شبکه با گره ها/مراکز داده. اما این موضوع به خودی خود بسیار گسترده تر است و به ویژه شامل بازیابی از خرابی ها، از جمله خرابی هایی است که افراد به ندرت برای آنها آماده می شوند، به عنوان مثال، خطاهای اپراتور.

— آیا می‌توانید نمونه‌ای از پربارترین و بزرگ‌ترین خوشه داده را بیاورید؟

یکی از بزرگترین خوشه های ما، خوشه هدیه است: بیش از 200 گره و صدها TB داده. اما بیشترین بارگذاری را ندارد، زیرا توسط یک کش توزیع شده پوشانده شده است. شلوغ ترین خوشه های ما ده ها هزار RPS برای نوشتن و هزاران RPS برای خواندن دارند.

- وای! هر چند وقت یکبار چیزی می شکند؟

بله همیشه! در مجموع ما بیش از 6 هزار سرور داریم و هر هفته چند سرور و چندین ده دیسک تعویض می شود (بدون در نظر گرفتن فرآیندهای موازی ارتقا و گسترش ناوگان ماشین). برای هر نوع خرابی، دستورالعمل‌های واضحی در مورد اینکه چه کاری باید انجام شود و به چه ترتیبی وجود دارد، همه چیز در صورت امکان خودکار می‌شود، بنابراین خرابی‌ها عادی هستند و در ۹۹ درصد موارد بدون توجه کاربران رخ می‌دهند.

- با چنین امتناع هایی چگونه برخورد می کنید؟

از همان ابتدای کار کاساندرا و اولین حوادث، ما روی مکانیسم‌های پشتیبان‌گیری و بازیابی از آنها کار کردیم، رویه‌های استقراری را ایجاد کردیم که وضعیت خوشه‌های کاساندرا را در نظر می‌گرفت و به عنوان مثال، اجازه راه‌اندازی مجدد گره‌ها را نمی‌داد. اگر از دست دادن داده ها امکان پذیر باشد. ما قصد داریم در مورد همه اینها در جلسه صحبت کنیم.

- همانطور که گفتید، هیچ سیستم کاملاً قابل اعتمادی وجود ندارد. برای چه نوع شکست هایی آماده می شوید و می توانید از پس آن برآیید؟

اگر در مورد نصب خوشه‌های Cassandra صحبت کنیم، اگر چندین ماشین را در یک DC یا یک DC کامل از دست بدهیم، کاربران متوجه چیزی نخواهند شد (این اتفاق افتاده است). با افزایش تعداد DCها، ما به فکر شروع برای اطمینان از عملکرد در صورت خرابی دو DC هستیم.

- فکر می کنید کاساندرا از نظر تحمل خطا چه چیزی کم دارد؟

Cassandra، مانند بسیاری دیگر از فروشگاه های اولیه NoSQL، نیاز به درک عمیق ساختار داخلی و فرآیندهای پویا در حال وقوع دارد. من می گویم که فاقد سادگی، قابل پیش بینی و مشاهده است. اما شنیدن نظرات سایر شرکت کنندگان در جلسه جالب خواهد بود!

اولگ، از اینکه وقت گذاشتید و به سوالات پاسخ دادید بسیار متشکرم!

ما منتظر همه کسانی هستیم که می خواهند با متخصصان در زمینه عملکرد آپاچی کاساندرا در جلسه 12 سپتامبر در دفتر سن پترزبورگ ما ارتباط برقرار کنند.

بیا، جالب خواهد بود!

برای رویداد ثبت نام کنید.

منبع: www.habr.com

اضافه کردن نظر