ما هو Apache Kafka في Azure HDInsight

Apache Kafka عبارة عن منصة بث موزعة مفتوحة المصدر يمكن استخدامها لبناء تدفق البيانات والتطبيقات المتدفقة في الوقت الفعلي. كما يوفر Kafka وظيفة وسيط رسالة مماثلة لقائمة انتظار الرسائل، حيث يمكنك نشر والاشتراك في تدفقات البيانات المسماة.

وفيما يلي خصائص محددة من Kafka على HDInsight:

  • إنها خدمة مُدارة توفر عملية تكوين مبسطة. تكون النتيجة عبارة عن تكوين تم اختبارها ودعمها من قبل Microsoft.

  • توفر Microsoft اتفاقية مستوى الخدمة بنسبة 99.9٪ على وقت تشغيل Kafka. لمزيد من المعلومات، راجع معلومات اتفاقية مستوى الخدمة للحصول على مستند HDInsight.

  • وتستخدم Azure Managed Disks كتخزين مساعد لـ Kafka. يمكن أن توفر الأقراص المُدارة ما يصل إلى 16 تيرابايت من التخزين لكل وسيط كافكا. للحصول على معلومات حول تكوين الأقراص المدارة مع Kafka على HDInsight، راجع زيادة قابلية توسيع Apache Kafka على HDInsight.

    لمزيدٍ من المعلومات حول الأقراص المُدارة، راجع نظرة عامة على الأقراص المدارة في Azure.

  • تم تصميم Kafka مع وجهة نظر أحادية الأبعاد لحامل. يفصل Azure الحامل إلى بعدين - مجالات التحديث (UD) ومجالات الخطأ (FD). توفر Microsoft أدوات تعيد توازن أقسام Kafka والنسخ المتماثلة عبر مجالات التحديث ومجالات الخطأ.

    لمزيد من المعلومات، راجع توافر عال مع Apache Kafka على HDInsight.

  • يسمح HDInsight لك بتغيير عدد العقد العاملة (التي تستضيف Kafka) بعد إنشاء نظام المجموعة. يمكن إجراء التحجيم التصاعدي من مدخل Azure و Azure PowerShell وواجهات إدارة Azure الأخرى. بالنسبة إلى Kafka، يجب عليك إعادة توازن النسخ المتماثلة للقسم بعد عمليات التحجيم. تسمح إعادة توازن الأقسام لـ Kafka بالاستفادة من عدد جديد من العقد العاملة.

    HDInsight Kafka لا يدعم خفض أو تغيير حجم أو تقليل عدد الوسطاء داخل مجموعة. إذا تم إجراء محاولة لتقليل عدد العقد، InvalidKafkaScaleDownRequestErrorCode يتم إرجاع خطأ.

    لمزيد من المعلومات، راجع توافر عال مع Apache Kafka على HDInsight.

  • يمكن استخدام سجلات Azure Monitor لمراقبة Kafka على HDInsight. تسجل Azure Monitor معلومات مستوى الجهاز الظاهري، مثل مقاييس القرص و NIC ، ومقاييس JMX من Kafka.

    لمزيد من المعلومات، راجع تحليل السجلات لـ Apache Kafka على HDInsight.

Apache Kafka على بنية HDInsight

يظهر الرسم التخطيطي التالي تكوين Kafka نموذجي يستخدم مجموعات المستهلكين والتقسيم والنسخ المتماثل لتقديم قراءة متوازية للأحداث مع التسامح مع الخطأ:

Kafka cluster configuration diagram.

Apache ZooKeeper يدير حالة مجموعة Kafka. تم تصميم Zookeeper للمعاملات المتزامنة والمرنة وذات زمن الانتقال المنخفض.

يخزن Kafka السجلات في المواضيع. تنتج السجلات من قبل المنتجين، وتستهلك من قبل المستهلكين. المنتجون يرسلون السجلات إلى وسطاء Kafka. كل عقدة عامل في مجموعة HDInsight الخاص بك هي وسيط Kafka.

مواضيع قسم السجلات عبر الوسطاء. عند استهلاك السجلات، يمكنك استخدام ما يصل إلى مستهلك واحد لكل قسم لتحقيق المعالجة المتوازية للبيانات.

يتم استخدام النسخ المتماثل لتكرار الأقسام عبر العقد، وحماية ضد انقطاع العقدة (وسيط). القسم المشار إليه ب (L) في الرسم التخطيطي هو قائد القسم المحدد. يتم توجيه حركة مرور المنتج إلى قائد كل عقدة، وذلك باستخدام الدولة التي تديرها ZooKeeper.

ما سبب استخدام Apache Kafka على HDInsight؟

فيما يلي المهام والأنماط الشائعة التي يمكن تنفيذها باستخدام Kafka على HDInsight:

استخدام ‏‏الوصف
تكرار بيانات Apache Kafka يوفر Kafka الأداة المساعدة MirrorMaker، التي تكرر البيانات بين مجموعات Kafka. للحصول على معلومات حول استخدام MirrorMaker، راجع تكرار مواضيع Apache Kafka مع Apache Kafka على HDInsight.
نمط مراسلة النشر والاشتراك يوفر Kafka واجهة برمجة تطبيقات منتج لنشر السجلات لموضوع Kafka. يتم استخدام واجهة برمجة تطبيقات المستهلك عند الاشتراك في موضوع. لمزيد من المعلومات، راجع البدء مع Apache Kafka على HDInsight.
المعالجة المتدفقة غالبا ما يتم استخدام Kafka مع Spark لمعالجة الدفق في الوقت الحقيقي. يدعم Kafka 2.1.1 و2.4.1 (HDInsight الإصدار 4.0 و5.0) تدفق واجهة برمجة التطبيقات التي تسمح لك بإنشاء حلول دفق دون الحاجة إلى Spark. لمزيد من المعلومات، راجع البدء مع Apache Kafka على HDInsight.
مقياس أفقي يقوم Kafka بتقسيم التدفقات عبر العقد في مجموعة HDInsight. يمكن أن تكون العمليات الاستهلاكية مقترنة بأقسام فردية لتوفير موازنة التحميل عند استهلاك السجلات. لمزيد من المعلومات، راجع البدء مع Apache Kafka على HDInsight.
التسليم بالترتيب داخل كل قسم، يتم تخزين السجلات في الدفق بالترتيب الذي تم استلامها به. عن طريق ربط عملية مستهلك واحد لكل قسم، يمكنك ضمان معالجة السجلات بالترتيب. لمزيد من المعلومات، راجع البدء مع Apache Kafka على HDInsight.
المراسلة نظرًا لأنه يدعم نمط رسالة الاشتراك في النشر، غالبًا ما يستخدم Kafka كوسيط رسائل.
تتبع النشاط وبما أن Kafka يوفر تسجيلًا للسجلات بالترتيب، يمكن استخدامه لتتبع الأنشطة وإعادة إنشائها. على سبيل المثال، إجراءات المستخدم على موقع ويب أو داخل تطبيق.
التجميع باستخدام معالجة الدفق، يمكنك تجميع المعلومات من تدفقات مختلفة لدمج المعلومات وتحويلها مركزيًّا إلى بيانات تشغيلية.
التحويل باستخدام معالجة الدفق، يمكنك دمج البيانات وإثراؤها من موضوعات إدخال متعددة في موضوع إخراج واحد أو أكثر.

الخطوات التالية

استخدم الروابط التالية لمعرفة كيفية استخدام Apache Kafka على HDInsight: