Odnoklassniki هو أكبر مستخدم لـ Apache Cassandra على RuNet وواحد من أكبر المستخدمين في العالم. لقد بدأنا باستخدام Cassandra في عام 2010 لتخزين تقييمات الصور، والآن تدير Cassandra بيتابايت من البيانات على آلاف العقد، وفي الواقع، قمنا بتطوير نظامنا الخاص
سنعقد يوم 12 سبتمبر في مكتبنا في سانت بطرسبرغ
عشية الاجتماع، تحدثنا مع أوليغ حول التسامح مع الأخطاء للأنظمة الموزعة مع كاساندرا، وسألناه عما سيتحدث عنه في الاجتماع ولماذا يستحق حضور هذا الحدث.
بدأ أوليغ مسيرته في مجال البرمجة في عام 1995. قام بتطوير البرمجيات في مجال الخدمات المصرفية والاتصالات والنقل. لقد كان يعمل كمطور رائد في Odnoklassniki منذ عام 2007 في فريق المنصة. تشمل مسؤولياته تطوير البنى والحلول للأنظمة عالية التحميل ومستودعات البيانات الكبيرة وحل مشكلات أداء البوابة وموثوقيتها. كما يقوم بتدريب المطورين داخل الشركة.
- أوليغ، مرحبا! في مايو حدث
لقد جاء المطورون ذوو الخلفيات المختلفة من شركات مختلفة مع آلامهم الخاصة وحلولًا غير متوقعة للمشاكل وقصصًا مذهلة. لقد تمكنا من إجراء معظم اللقاء في شكل مناقشة، ولكن كان هناك الكثير من المناقشات لدرجة أننا لم نتمكن إلا من التطرق إلى ثلث المواضيع المخطط لها. لقد أولينا الكثير من الاهتمام لكيفية وما نراقبه باستخدام مثال خدمات الإنتاج الحقيقية لدينا.
لقد كنت مهتمًا وأعجبني حقًا.
- انطلاقا من هذا الإعلان،
Cassandra هو نظام موزع نموذجي مشغول يحتوي على قدر كبير من الوظائف يتجاوز خدمة طلبات المستخدمين مباشرة: القيل والقال، واكتشاف الفشل، ونشر تغييرات المخطط، وتوسيع/تقليص المجموعة، ومكافحة الإنتروبيا، والنسخ الاحتياطي والاسترداد، وما إلى ذلك. كما هو الحال في أي نظام موزع، مع زيادة كمية الأجهزة، تزداد احتمالية الفشل، وبالتالي فإن تشغيل مجموعات إنتاج Cassandra يتطلب فهمًا عميقًا لبنيتها للتنبؤ بالسلوك في حالة الفشل وإجراءات المشغل. بعد استخدام كاساندرا لسنوات عديدة، نحن
— عندما يتعلق الأمر بكاساندرا، ماذا تقصد بالتسامح مع الخطأ؟
أولًا وقبل كل شيء، بالطبع، قدرة النظام على النجاة من أعطال الأجهزة النموذجية: فقدان الأجهزة أو الأقراص أو الاتصال بالشبكة مع العقد/مراكز البيانات. لكن الموضوع نفسه أوسع بكثير ويتضمن على وجه الخصوص التعافي من حالات الفشل، بما في ذلك حالات الفشل التي نادرًا ما يكون الأشخاص مستعدين لها، على سبيل المثال، أخطاء المشغل.
- هل يمكنك إعطاء مثال على مجموعة البيانات الأكثر تحميلا والأكبر؟
إحدى أكبر مجموعاتنا هي مجموعة الهدايا: أكثر من 200 عقدة ومئات التيرابايت من البيانات. لكنها ليست الأكثر تحميلًا، لأنها مغطاة بذاكرة تخزين مؤقت موزعة. تتعامل مجموعاتنا الأكثر ازدحامًا مع عشرات الآلاف من RPS للكتابة وآلاف من RPS للقراءة.
- رائع! كم مرة ينكسر شيء ما؟
– كيف تتعامل مع مثل هذا الرفض؟
منذ بداية تشغيل كاساندرا والحوادث الأولى، عملنا على آليات النسخ الاحتياطي والاسترداد منها، وقمنا ببناء إجراءات النشر التي تأخذ في الاعتبار حالة مجموعات كاساندرا، وعلى سبيل المثال، لا تسمح بإعادة تشغيل العقد إذا كان فقدان البيانات ممكنا. نحن نخطط للحديث عن كل هذا في اللقاء.
– كما قلت، لا توجد أنظمة موثوقة تماما. ما هي أنواع الإخفاقات التي تستعد لها وتستطيع التعامل معها؟
إذا تحدثنا عن تركيباتنا لمجموعات Cassandra، فلن يلاحظ المستخدمون أي شيء إذا فقدنا عدة أجهزة في وحدة تحكم واحدة أو وحدة تحكم واحدة كاملة (وهذا ما حدث). مع زيادة عدد مراكز البيانات، نفكر في البدء في ضمان قابلية التشغيل في حالة فشل اثنين من مراكز البيانات.
- ما الذي تعتقد أن كاساندرا تفتقر إليه فيما يتعلق بالتسامح مع الخطأ؟
تتطلب Cassandra، مثل العديد من متاجر NoSQL المبكرة الأخرى، فهمًا عميقًا لبنيتها الداخلية والعمليات الديناميكية التي تحدث. أود أن أقول إنه يفتقر إلى البساطة والقدرة على التنبؤ وإمكانية الملاحظة. ولكن سيكون من المثير للاهتمام سماع آراء المشاركين الآخرين في الاجتماع!
أوليغ، شكرًا جزيلاً لك على الوقت الذي أمضيته في الإجابة على الأسئلة!
نحن في انتظار كل من يريد التواصل مع الخبراء في مجال تشغيل أباتشي كاساندرا في اللقاء يوم 12 سبتمبر في مكتبنا في سانت بطرسبرغ.
تعال، سيكون الأمر مثيرا للاهتمام!
المصدر: www.habr.com