برنامج تعليمي لـ ZooKeeper

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

الآن في هذا البرنامج التعليمي ZooKeeper، دعنا نتعرف على نموذج بيانات Zookeeper. يوضح الشكل أدناه نموذج بيانات Apache 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() وexist بخيار تعيين مراقبة.

يتم ترتيب الساعات، ويتوافق ترتيب أحداث المراقبة مع ترتيب التحديثات. سيتمكن العميل من رؤية حدث مراقبة لـ 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) تم عرض رسالة الشكر
سوف ترى الرسالة التالية

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

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

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

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

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

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

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

يستخدم Apache Zookeeper للأغراض التالية:

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

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

  • بريد ياهووو
  • Facebook
  • يباي
  • Twitter
  • Netflix
  • Zynga
  • Nutanix

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

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

ملخص

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

تلخيص هذه التدوينة بـ: