البرنامج التعليمي ZooKeeper: ما هو، Archiبنية Apache ZooKeeper

ما هو النظام الموزع؟

التطبيق الموزع هو تطبيق يمكن تشغيله على أنظمة متعددة في الشبكة. يتم تشغيله في نفس الوقتneoمن خلال تنسيق أنفسهم لإكمال مهمة معينة. قد تستغرق هذه المهام الكثير من الساعات حتى تكتمل بواسطة أي تطبيق غير موزع.

ما هو حارس حديقة الحيوان؟

حارس حديقة أباتشي هي خدمة تنسيق موزعة ومفتوحة المصدر تساعد على إدارة مجموعة كبيرة من المضيفين. الإدارة والتنسيق في بيئة موزعة أمر صعب. يقوم Zookeeper بأتمتة هذه العملية ويسمح للمطورين بالتركيز على بناء ميزات البرنامج بدلاً من القلق بشأن طبيعتها الموزعة.

يساعدك Zookeeper في الحفاظ على معلومات التكوين والتسمية وخدمات المجموعة للتطبيقات الموزعة. يقوم بتنفيذ بروتوكولات مختلفة على المجموعة بحيث لا يتم تنفيذ التطبيق بمفرده. يوفر رؤية واحدة متماسكة لأجهزة متعددة.

لماذا أباتشي Zookeeper؟

فيما يلي أسباب مهمة وراء شعبية Zookeeper:

  • يسمح بالاستبعاد المتبادل والتعاون بين عمليات الخادم
  • فهو يضمن تشغيل التطبيق الخاص بك باستمرار.
  • لا تكتمل عملية المعاملة جزئيًا أبدًا. يتم منحه إما حالة النجاح أو الفشل. يمكن إيقاف الحالة الموزعة، لكنها ليست خاطئة أبدًا
  • بغض النظر عن الخادم الذي يتصل به، سيتمكن العميل من رؤية نفس طريقة عرض الخدمة
  • يساعدك على تشفير البيانات وفقًا لمجموعة القواعد المحددة
  • فهو يساعد على الحفاظ على مستوى قياسيarchiمساحة الاسم كال مشابهة للملفات والدلائل
  • أجهزة الكمبيوتر، التي تعمل كنظام واحد ويمكن ربطها محلياً أو جغرافياً
  • يسمح بالانضمام/مغادرة العقدة في المجموعة وحالة العقدة في الوقت الفعلي
  • يمكنك زيادة الأداء من خلال نشر المزيد من الأجهزة
  • يسمح لك باختيار عقدة كقائد لتحسين التنسيق
  • يعمل ZooKeeper بسرعة مع أعباء العمل حيث تكون عمليات قراءة البيانات أكثر شيوعًا من عمليات الكتابة

حارس حديقة الحيوان Archiتيكتوري: كيف يعمل؟

وهنا شرح مختصر عنها أباتشي حارس حديقة الحيوان archiالبنية:

  • يتبع Zookeeper خادم العميل Architecture
  • تقوم جميع الأنظمة بتخزين نسخة من البيانات
  • يتم انتخاب القادة عند بدء التشغيل
Archiبنية ZooKeeper
Archiبنية ZooKeeper

الخادم: يرسل الخادم إقرارًا عند اتصال أي عميل. في حالة عدم وجود استجابة من الخادم المتصل، يقوم العميل تلقائيًا بإعادة توجيه الرسالة إلى خادم آخر.

العميل: العميل هو إحدى العقد في مجموعة التطبيقات الموزعة. يساعدك على الوصول إلى المعلومات من الخادم. يقوم كل عميل بإرسال رسالة إلى الخادم على فترات منتظمة تساعد الخادم على معرفة أن العميل على قيد الحياة.

زعيم: تم تعيين أحد الخوادم كقائد. إنه يوفر جميع المعلومات للعملاء بالإضافة إلى إقرار بأن الخادم على قيد الحياة. سيتم إجراء الاسترداد التلقائي في حالة فشل أي من العقد المتصلة.

المتابع: تسمى عقدة الخادم التي تتبع تعليمات القائد بالتابع.

  • تتم معالجة طلبات قراءة العميل بواسطة خادم Zookeeper المتصل المقابل
  • تتم معالجة طلبات كتابة العميل بواسطة قائد Zookeeper.

المجموعة/الكتلة: مجموعة من خوادم Zookeeper والتي تسمى المجموعة أو المجموعة. يمكنك استخدام البنية التحتية ZooKeeper في وضع المجموعة لجعل النظام بالقيمة المثلى عند تشغيل Apache.

واجهة المستخدم الخاصة بـ ZooKeeper: إذا كنت ترغب في العمل مع إدارة موارد ZooKeeper، فأنت بحاجة إلى استخدامها في WebUI. فهو يسمح بالعمل مع ZooKeeper باستخدام واجهة مستخدم الويب، بدلاً من استخدام سطر الأوامر. يوفر اتصالاً سريعًا وفعالاً مع تطبيق ZooKeeper.

نموذج بيانات Zookeeper (ZDM)

الآن في هذا البرنامج التعليمي ZooKeeper، دعنا نتعرف على نموذج بيانات Zookeeper. يوضح الشكل أدناه نموذج بيانات Apache Zookeeper:

نموذج بيانات Zookeeper
نموذج بيانات Zookeeper
  • يتبع نموذج بيانات Zookeeper مساحة اسم هرمية حيث تسمى كل عقدة ZNode. العقدة هي نظام يتم من خلاله تشغيل المجموعة.
  • كل ZNode لديه بيانات. قد يكون أو لا يكون لديه أطفال
  • مسارات ZNode:
    • الكنسي، مفصولة بشرطة مائلة ومطلقة
    • عدم استخدام أي مراجع نسبية
    • قد تحتوي الأسماء على أحرف Unicode
  • تحتفظ ZNode بالهيكل الأساسي ورقم الإصدار لتغييرات البيانات.

أنواع عقد Zookeeper

هناك ثلاثة أنواع من Znodes:

إصرار znode: هذا النوع من znode يظل حيًا حتى بعد قطع اتصال العميل الذي أنشأ تلك العقدة المحددة. بشكل افتراضي، في Zookeeper، تكون جميع العقد ثابتة إذا لم يتم تحديدها.

سريع الزوال znode: هذا النوع من عقدة حديقة الحيوان يظل على قيد الحياة حتى يبقى العميل على قيد الحياة. لذلك، عندما يحصل العميل على قطع اتصال ببرنامج Zookeeper، سيتم حذفه أيضًا. علاوة على ذلك، لا يسمح للعقد سريعة الزوال بإنجاب الأطفال.

تسلسلي znode: يمكن أن تكون znodes المتسلسلة إما سريعة الزوال أو مستمرة. لذلك عندما يتم إنشاء عقدة znode جديدة كعقدة z تسلسلية. يمكنك تعيين مسار znode عن طريق إرفاق رقم تسلسلي مكون من 10 أرقام بالاسم الأصلي.

ZDM- الساعات

Zookeeper، حدث المراقبة هو مشغل لمرة واحدة يتم إرساله إلى العميل الذي قام بتعيين المراقبة. لقد حدث ذلك عندما تتغير البيانات من تلك الساعة. تتيح ساعة ZDM للعملاء الحصول على إشعارات عند تغيير znode. عمليات قراءة ZDM مثل getData() و getChidleren()، موجود لديك خيار ضبط الساعة.

يتم ترتيب الساعات، ويتوافق ترتيب أحداث المراقبة مع ترتيب التحديثات. سيتمكن العميل من رؤية حدث مراقبة لـ znode قبل رؤية البيانات الجديدة التي تتوافق مع تلك znode.

ZDM- قائمة التحكم في الوصول

يستخدم Zookeeper قوائم ACL للتحكم في الوصول إلى العقد znodes الخاصة به. تتكون قائمة التحكم بالوصول (ACL) من زوج من (المخطط: المعرف، الإذن)

بناء في مخططات ACL:

العالم: لديه معرف واحد، أي شخص

auth: عدم استخدام أي معرف، فهو يمثل أي مستخدم تمت مصادقته

الملخص: استخدم اسم المستخدم: كلمة المرور

المضيف: يسمح لك باستخدام اسم مضيف العميل كهوية معرف ACL

IP: استخدم عنوان IP لمضيف العميل كهوية معرف ACL

أذونات قائمة التحكم بالوصول (ACL):

  • خلق
  • اقرأ
  • الكتابة
  • حذف
  • مشرف

على سبيل المثال (IP: 192.168.0.0/16، قراءة)

ZKS – حالات الجلسة ومدى الحياة

ZKS – حالات الجلسة
ZKS – حالات الجلسة
  • قبل تنفيذ أي طلب، من المهم أن يقوم العميل بإنشاء جلسة مع الخدمة
  • ترتبط كافة عملاء العمليات التي يتم إرسالها إلى الخدمة تلقائيًا بالجلسة
  • يجوز للعميل الاتصال بأي خادم في المجموعة. ولكنه سيتصل بخادم واحد فقط
  • توفر الجلسة "ضمانات الطلب". يتم تنفيذ الطلبات في الجلسة بترتيب FIFO
  • الحالات الرئيسية للجلسة هي 1) متصل، 2) متصل 3) مغلق 4) غير متصل.

كيفية تثبيت برنامج ZooKeeper

الخطوة 1) انقر على متابعة الاشتراك
اذهب إلى هذا الصفحة وانقر على "متابعة الاشتراك"

تثبيت برنامج ZooKeeper

الخطوة 2) قبول الشروط والأحكام
في الصفحة التالية، قم بقبول اتفاقية الترخيص

تثبيت برنامج ZooKeeper

الخطوة 3) تم عرض رسالة الشكر
سوف ترى فولوwing الرسالة

تثبيت برنامج ZooKeeper

الخطوة 4) انقر فوق متابعة التكوين
قم بتحديث الصفحة بعد 5 دقائق وتابع التكوين

تثبيت برنامج ZooKeeper

الخطوة 5) انقر فوق "متابعة الإطلاق"
في الشاشة التالية، قم بتشغيل ZooKeeper

تثبيت برنامج ZooKeeper

الخطوة 6) تهانينا!
انتهيت!

تطبيقات أباتشي ZooKeeper

يستخدم Apache Zookeeper للمتابعةwing المقاصد:

  • إدارة التكوين
  • خدمات التسمية
  • اختيار القائد
  • انتظار الرسائل
  • إدارة نظام الإخطارات
  • Syncكرونة
  • إدارة الكتلة الموزعة

الشركات التي تستخدم Zookeeper

  • بريد ياهووو
  • فيسبوك
  • يباي
  • تويتر
  • Netflix
  • Zynga
  • Nutanix

عيوب استخدام Zookeeper

  • قد يحدث فقدان للبيانات إذا كنت تقوم بإضافة خوادم Zookeeper جديدة
  • لا يسمح بالترحيل للمستخدمين
  • لا تقدم الدعم لوضع الرف والتوعية
  • لا يسمح لك Zookeeper بتقليل عدد القرون لمنع فقدان البيانات عن طريق الخطأ
  • لا يمكنك تبديل الخدمة إلى شبكة مضيفة دون إعادة التثبيت الكامل عند نشر الخدمة على شبكة افتراضية
  • لا تدعم الخدمة تغيير متطلبات الحجم بمجرد انتهاء النشر الأولي
  • هناك عدد كبير من العقد المعنية، لذا قد يكون هناك أكثر من نقطة فشل
  • من الممكن أن يتم فقدان الرسائل في شبكة الاتصالات، الأمر الذي يتطلب برامج خاصة لاستعادتها مرة أخرى

نبذة عامة

  • التطبيق الموزع هو تطبيق يمكن تشغيله على أنظمة متعددة في الشبكة
  • Apache Zookeeper هي خدمة تنسيق موزعة مفتوحة المصدر تساعدك على إدارة مجموعة كبيرة من المضيفين
  • يسمح بالاستبعاد المتبادل والتعاون بين عمليات الخادم
  • الخادم، العميل، القائد، التابع، المجموعة/الكتلة، ZooKeeper WebUI هي مكونات مهمة لحراسة الحيوان
  • ثلاثة أنواع من العقد Znodes هي الثبات، والزوال، والتسلسل
  • ساعة ZDM عبارة عن مشغل لمرة واحدة يتم إرساله إلى العميل الذي قام بضبط الساعة. لقد حدث ذلك عندما تتغير البيانات من تلك الساعة
  • يستخدم Zookeeper Hadoop قوائم ACL للتحكم في الوصول إلى العقد znodes الخاصة به
  • إدارة التكوين، خدمات التسمية، اختيار القائد، انتظار الرسائل، إدارة نظام الإشعارات، Syncالتسلسل الزمني وإدارة الكتلة الموزعة وما إلى ذلك.
  • ياهو، فيسبوك، إيباي، تويتر، Netflix هي بعض الشركات المعروفة التي تستخدم Zookeeper
  • العيب الرئيسي للأداة هو أن الخسارة قد تحدث إذا كنت تضيف خوادم Zookeeper جديدة