uncode-schedule: مكون جدولة المهام الموزعة استنادًا إلى ZooKeeper
سيمنحك محرر Downcodes فهمًا متعمقًا لـ uncode-schedule، وهو مكون جدولة مهام موزع خفيف الوزن يعتمد على ZooKeeper. إنها بسيطة وسهلة الاستخدام، ما عليك سوى تقديم حزمة jar ولا يلزم نشر خادم إضافي. يضمن uncode-schedule تنفيذ جميع المهام في المجموعة دون تكرار أو حذف، ويدعم إضافة وحذف المهام بشكل ديناميكي.
نظرة عامة على الوظيفة
فيما يلي الوظائف الرئيسية لجدولة فك التشفير:
1. نظام جدولة المهام الموزعة على أساس ZooKeeper + Spring Task/Quartz/Uncode Task
يستخدم uncode-schedule إمكانات التنسيق الموزعة في ZooKeeper ويجمع بين أطر جدولة المهام مثل Spring Task أو Quartz أو Uncode Task لتنفيذ جدولة المهام الموزعة.
2. تأكد من عدم تنفيذ كل مهمة بشكل متكرر على العقد المختلفة في المجموعة
يستخدم uncode-schedule آلية اختيار عقدة ZooKeeper للتأكد من أن عقدة واحدة فقط في المجموعة هي المسؤولة عن تنفيذ كل مهمة لتجنب التنفيذ المتكرر.
3. عند فشل عقدة مهمة واحدة، سيتم نقلها تلقائيًا إلى عقد مهمة أخرى لمواصلة التنفيذ.
عندما تفشل العقدة المسؤولة عن تنفيذ مهمة ما، ستقوم Uncode-schedule بنقل المهمة تلقائيًا إلى العقد الأخرى المتاحة في المجموعة لضمان التنفيذ المستمر للمهمة.
4. يجب أن تكون ZooKeeper متاحة عند بدء عقدة المهمة. عندما تكون مجموعة ZooKeeper غير متاحة أثناء فترة تشغيل عقدة المهمة، ستستمر عقدة المهمة في العمل في الحالة قبل أن تصبح متاحة، وستستأنف مجموعة ZooKeeper العمل العادي. .
يعتمد uncode-schedule على ZooKeeper لتنسيق جدولة المهام، لذلك يجب أن تكون مجموعة ZooKeeper متاحة عند بدء عقدة المهمة. إذا فشلت مجموعة ZooKeeper، ستبقى عقد المهمة في حالة التشغيل السابقة حتى تعود مجموعة ZooKeeper إلى وضعها الطبيعي.
5. دعم الإضافة الديناميكية وتعديل وحذف المهام ودعم تعليق المهام وإعادة تشغيلها
يوفر uncode-schedule وظائف مرنة لإدارة المهام، ويمكن للمستخدمين إضافة المهام وتعديلها وحذفها وإيقافها مؤقتًا/إعادة تشغيلها ديناميكيًا حسب الحاجة.
6. أضف قائمة IP السوداء لتصفية العقد التي لا تحتاج إلى أداء المهام
يمكن للمستخدمين تكوين قائمة سوداء IP لتصفية العقد التي لا تحتاج إلى أداء المهام وتحسين استخدام موارد المجموعة.
7. إدارة الخلفية ومراقبة تنفيذ المهام
يوفر uncode-schedule واجهة لإدارة الخلفية لتسهيل على المستخدمين عرض حالة المهمة والسجلات والمعلومات الأخرى ومراقبة تنفيذ المهمة.
8. دعم Spring Boot ودعم مهمة واحدة لتشغيل مثيلات متعددة (باستخدام لاحقة ممتدة)
تم دمج uncode-schedule مع Spring Boot ويدعم تكوين مثيلات متعددة لنفس المهمة وتمييزها من خلال لاحقات الامتداد لتلبية سيناريوهات التطبيق الأكثر تعقيدًا.
يوضح
تجدر الإشارة إلى أنه عند فشل عقدة مهمة واحدة، من الضروري التأكد من أن منطق الأعمال يتمتع بتكامل البيانات أو عدم فعاليتها لضمان موثوقية تنفيذ المهمة.
العمارة المعيارية
المهام: أضف مخطط بنية الوحدة النمطية لجدول فك التشفير وقم بتفصيل وظائف ومسؤوليات كل وحدة.
مثال:
TODO: قم بإضافة نموذج تعليمي يوضح كيفية استخدام uncode-schedule لجدولة المهام.
TODO: قم بإضافة نموذج تكوين لإظهار كيفية تكوين المعلمات ومعلومات المهام الخاصة بجدول فك التشفير.
ترخيص أباتشي-2.0
المهام المطلوبة: إضافة معلومات ترخيص Apache-2.0.
جدول المحتويات
TODO: أكمل بنية الدليل لمستند جدولة فك التشفير، على سبيل المثال:
التثبيت والنشر
دليل المستخدم
تفاصيل التكوين
وثائق واجهة برمجة التطبيقات
التعليمات
دليل التطوير
اقتراحات محرر Downcodes
المهام المطلوبة: إضافة اقتراحات وتوقعات محرر Downcodes بشأن جدولة فك التشفير، على سبيل المثال:
تحسين الأداء وتقليل استهلاك الموارد
تعزيز قابلية التوسع ودعم المزيد من أنواع المهام
تحسين الأمن والاستقرار
تحسين الوثائق ونموذج التعليمات البرمجية لخفض عتبة الاستخدام
المهام: أضف بعض الروابط إلى الموارد والمعلومات ذات الصلة، مثل:
مستودع Github لجدول فك التشفير
التوثيق الرسمي لجدول فك التشفير
مشروع نموذجي لجدول فك التشفير
المدونات والمقالات ذات الصلة بالتكنولوجيا
المهام المطلوبة: أضف بعض الصور والمخططات لجعل المستند أكثر حيوية وبديهية.
المهام: تأكد من أن كل المحتوى أصلي وتجنب أي شكل من أشكال الانتحال أو الازدواجية.