Apache Kafka / المتقدم: المعالجة الذرية وتصميم التعافي / الدرس 17
السعة والأقسام وميزانيات التخزين
تقدير متطلبات موارد محدودة وتحديد الافتراضات التي تحتاج أدلة فعلية.
في هذه الصفحة
أهداف الدرس
- حساب تقريبي للبايتات المحتفظ بها والمنسوخة بوحدات واضحة.
- مراجعة الأقسام والإنتاجية مقابل التفاوت وكلفة التعافي.
وصف الحمل قبل تقدير الحجم
يحدد وصف الحمل معدل السجلات وتوزيع حجم البايتات المتسلسلة وتفاوت المفاتيح والاحتفاظ والنسخ وتعدد القراء. تجيب الذروة والمعدل المستدام عن سؤالين مختلفين. قد يتحمل النظام دفعة قصيرة ثم ينفد القرص مع تراكم طويل أو يفقد هامش التعافي أثناء إعادة النسخ. يعتمد الضغط على الدفعات والمحتوى، فيجب تسمية النسبة المفترضة حتى تقاس. أدرج الترويسات وكلفة البروتوكول عند اللزوم، ولا تعتبر عدد أحرف الحمولة حجماً فيزيائياً. لا يصلح عدد أقسام أو حجم وسيط واحد لكل الأحمال.
ضبط وحدات التقدير الأول
يضرب الحساب مئتي سجل في الثانية في خمسمئة بايت متسلسل وساعة وثلاث نسخ. ينتج تقديراً مبسطاً غير مضغوط لنسخ الحمولة قدره 1.08 مليار بايت. يهمل الفهارس والمقاطع والبيانات الوصفية والملفات وتفاوت الضغط والهامش الحر، فلا يستخدم مباشرة لتخصيص القرص. تختلف الغيغابايت العشرية عن الغيبيبايت الثنائية؛ سم الوحدة. ويتبع الاحتفاظ سلوك المقاطع والتنظيف لا موعداً دقيقاً لكل سجل. استخدم التقدير لإظهار رتبة الحجم والافتراضات الناقصة ثم اجمع قياسات مصرحاً بها.
records_per_s = 200
bytes_per_record = 500
retention_s = 3600
replicas = 3
payload_copy_bytes = records_per_s * bytes_per_record * retention_s * replicas
assert payload_copy_bytes == 1080000000
print(payload_copy_bytes)
1080000000
تستبعد النتيجة الكلفة والضغط والاحتياطي؛ وليست متطلب قرص فيزيائياً.
للأقسام تواز وكلفة
قد تزيد الأقسام التوازي المحتمل وتوزع الحركة، لكنها تضيف بيانات وصفية وملفات وعمل نسخ وتنسيق تعاف. لا تقسم تسلسل مفتاح واحد تلقائياً. وقد يغير العدد توجيه المفتاح، فيرتبط تقدير السعة بتصميم الترتيب. قد تضيف أقسام صغيرة كثيرة كلفة بلا إنتاجية، وتقيد قلة الأقسام حملاً ساخناً. قيّم توزيع المهام والتعافي لا عدد الأنوية فقط. قد تفرض الخدمات المدارة حصصاً أو حدود فوترة إضافية تحتاج مراجعة خاصة، لا استقراء من Kafka الذاتي.
إدراج تعدد القراء في تحليل الشبكة
يأخذ النموذج الثاني معدل بايتات مصدراً وثلاثة قراء مستقلين يقرأ كل منهم الكل. يحسب حركة قراءة التطبيق وحدها ويقارنها بقارئ واحد. تبقى حركة النسخ وكلفة الطلب والضغط والمحاولات خارج الحساب. لا تعني ثلاثة مستهلكين في مجموعة واحدة ثلاث نسخ كاملة لكل سجل؛ لكن ثلاث مجموعات مستقلة تقرأ الجميع تعني ذلك. يهم الفرق عند إضافة تحليل أو إعادة تشغيل. يجب أن يغطي الاحتياطي أيضاً إعادة توزيع حركة وسيط متعطل ولحاق النسخ، لا اعتبار الاستهلاك العادي سقفاً كافياً.
source_bytes_per_s = 100000
full_reader_groups = 3
read_bytes_per_s = source_bytes_per_s * full_reader_groups
assert read_bytes_per_s == 300000
print(read_bytes_per_s)
300000
يحسب حمولة قراءة التطبيق فقط؛ وتستبعد كلفة النسخ والبروتوكول.
قياس الاختناق دون تجارب غير مأذونة
تغير دراسة سعة مصرح بها أحجاماً وتوزيعات مفاتيح وأعطالاً ممثلة، وتراقب التأخر والقرص والنسخ واكتمال الوجهة. لا ينفذ المقرر عمليات خدمات أو حمل كهذه؛ فحساباته محلية محدودة بمدخلات اصطناعية. حافظ على إمكان التراجع وقارن فترات متشابهة بعد التغيير. يحتاج نمو القرص وتشبع الشبكة وكلفة الضغط وبطء القراء الخارجيين إصلاحات مختلفة. تجنب وصفات الضبط العامة؛ حدد المورد المقيد والأثر على المستخدم وهامش التعافي قبل اقتراح أقسام أو دفعات أو احتفاظ أكبر.
الأخطاء الشائعة وإصلاحها
تخصيص سعة القرص كاملة مساوية لتقدير الحمولة.
- لماذا يحدث؟
- إغفال الكلفة وهامش التعافي.
- كيف تصلحه؟
- قس الاستخدام الفيزيائي واحسب هامشاً تشغيلياً صريحاً.
- كيف تتجنب تكراره؟
- سم التقديرات واذكر الكلف المستبعدة.
عد ثلاثة أعضاء مجموعة ثلاث قراءات كاملة.
- لماذا يحدث؟
- الخلط بين توازي العمال وتعدد المجموعات.
- كيف تصلحه؟
- احسب المجموعات المستقلة وسلوك الاشتراك الفعلي.
- كيف تتجنب تكراره؟
- وثق بنية المجموعات في تقدير الشبكة.
انهيار تصميم يكفي الحالة العادية عند تعافي النسخ.
- لماذا يحدث؟
- استبعاد حركة العطل واللحاق من الحمل.
- كيف تصلحه؟
- احسب السيناريو المتدهور المختار وهدف التعافي.
- كيف تتجنب تكراره؟
- راجع السعة العادية وسعة التعافي منفصلتين.
اختبر فهمك
1. إذا تضاعف الاحتفاظ وثبتت المدخلات، ماذا يحدث لتقدير نسخ الحمولة؟
اعرض الحل المشروح
يتضاعف من 1.08 إلى 2.16 مليار بايت في النموذج الخطي. لا تتبع السعة الفيزيائية النسبة نفسها بالضرورة بسبب المقاطع والضغط الدلالي والكلفة. يفيد الحساب لفحص الحساسية الأولي، ثم تلزم قياسات وميزانية احتياطي صريحة.
2. هل تحل إضافة عشرة أقسام بطء واجهة خارجية لكل سجل؟
اعرض الحل المشروح
ليس بالضرورة؛ فقد تبقى التبعية الاختناق أو تتشبع بتواز أكبر. قس سعتها المستدامة وميزانية الانتظار، ثم راجع الدفعات أو التخزين المؤقت أو سياسة الحمل عند الملاءمة. تؤثر الأقسام أيضاً في الترتيب والتعافي، فلتتبع حاجة محددة لا علاجاً عاماً.
أهم ما تعلمته
- تقدير السعة افتراضات حمل صريحة وحدود مقاسة.
- أدرج تعدد القراء والتفاوت وكلفة التعافي المتدهور.