Apache Kafka / دليل حلول تحريري
نجاح التمهيد وفشل الوصول إلى القائد
تشخيص العناوين المكتشفة وطبقات الأمان دون تعطيل الضوابط أو مسح الشبكات.
قاعدة معرفة للقراءة فقط · بلا تعليقات عامة
تعرّف على الأعراض
يصل العميل إلى خادم التمهيد ثم تنتهي المهلة أو يفشل التحقق عند قائد قسم. قد تعمل أقسام وتفشل أخرى.
افهم الأسباب المحتملة
- قد تناسب العناوين المعلنة شبكة أخرى أو لا تطابق الشهادة المضيف المكتشف أو تفتقد الهوية صلاحية الموضوع أو المجموعة.
تحديد مرحلة الفشل الدقيقة
احفظ فئة الخطأ وخطاً منقحاً يبين الاتصال الأول واكتشاف البيانات والطلب اللاحق الفاشل. تشير مهلة النقل وخطأ هوية TLS وفشل SASL ورفض التفويض إلى طبقات مختلفة. تضيع العبارة العامة فشل الاتصال هذا التمييز. أكد مكتبة العميل وإصدارها لأن الأسماء وعرض الأخطاء يختلفان. راجع سجلات التطبيق والإعداد المعتمد؛ لا يشغل الدليل مجسات ولا يقرأ اعتماداً ولا يحصي أهدافاً شبكية. الغرض تضييق عدم التطابق بأدلة التطبيق المتاحة.
مقارنة العناوين المكتشفة ببيئة العميل
يوفر bootstrap.servers جهات الاتصال الأولى، ثم توفر البيانات الوصفية عناوين الوسطاء المعنيين. قد يصلح اسم حاوية داخل الشبكة ويفشل خارجها. وقد يعلن مستمع محدد بمنفذ عائلة عناوين أو منفذاً يحتاج مساراً مختلفاً. قارن المستمع المقصود بتصميم الشبكة المعتمد. لا تستبدل جميع أسماء الوسطاء بمضيف التمهيد، فلكل وسيط توجيهه. قد تختلف آلية الاكتشاف في الخدمات المدارة ويجب اتباع وثائقها.
فحص هوية الشهادة والمصادقة منفصلتين
يجب الوثوق بالشهادة وصلاحيتها لهوية النقطة وفق قواعد العميل. لا يكفي نجاح سلسلة الثقة لضمان تغطية الاسم. بعد النقل يجب أن تنتج SASL أو مصادقة TLS المتبادلة الهوية المتوقعة. لا تنشر كلمة مرور أو مفتاحاً خاصاً لجمع الأدلة. يغير تعطيل تحقق الاسم أو الرجوع للنقل الصريح حدود الأمان ويخفي الخلل. صحح النقطة أو التغطية أو الثقة بالمسار المعتاد، واحفظ سياق الخطأ قبل التغيير وبعده.
فحص عملية المورد المطلوبة فقط
إذا نجحت المصادقة وفشل الموضوع، فقارن الهوية الفعلية بالموضوع أو المجموعة أو المعرف المعاملي والعملية. قد يحتاج المستهلك صلاحيات الموضوع والمجموعة معاً، ولا يثبت طلب بيانات وصفية ناجح سماح العمليات اللاحقة. ابن جدول عمليات متوقعة صغيراً وأدرج عملية ممنوعة. لا تمنح إدارة العنقود علاجاً عاماً. يقارن المثال المحلي اسم التمهيد بالاسم المكتشف لإظهار اختلاف الحقلين فقط، لا لإثبات الوصول لأي منهما.
metadata = {'bootstrap': 'edge.training.invalid:9093', 'leader': 'broker-2.training.invalid:9093'}
assert metadata['bootstrap'] != metadata['leader']
print('distinct address fields')
distinct address fields
لا تحل أسماء invalid المحجوزة؛ ولا تثبت المساواة أو الاختلاف قابلية الاتصال.
تحقق من نجاح الإصلاح
تحقق في بيئة تجريبية مصرح بها من الاكتشاف وعملية قسم مقصودة من شبكة العميل وهويته. أكد بقاء عملية ممنوعة مرفوضة واحفظ الأدلة المنقحة؛ فلا يكفي التمهيد وحده.
امنع تكرار المشكلة
- أدر إصدار غرض المستمع وتغطية أسماء الشهادات ومصفوفة التطبيق معاً. أدرج مسارات العملاء الداخلية والخارجية في المراجعة واستخدم أدلة محدودة بدلاً من تغيير الاعتماد اعتباطاً أو المسح الواسع.