مرحبًا يا من هناك! باعتباري أحد موردي Shed Lock، غالبًا ما يتم سؤالي عن العلاقة بين Shed Lock والتعليق التوضيحي @Scheduled الخاص بـ Spring. قد يبدو هذا الاقتران غريبًا للوهلة الأولى، لكن ابقَ معي، وسأفصله لك.
أولاً، دعونا نتحدث عن ماهية هذين الأمرين. يعد التعليق التوضيحي لـ Spring'sScheduled أداة سهلة الاستخدام للغاية في إطار عمل Spring. يسمح للمطورين بجدولة الطرق للتشغيل على فترات زمنية محددة. يمكنك تعيين طريقة للتشغيل كل بضع ثوانٍ أو دقائق أو ساعات أو حتى في وقت معين من اليوم. إنه يشبه وجود منبه رقمي لرمز Java الخاص بك. على سبيل المثال، قد يكون لديك طريقة تتحقق من تسجيلات المستخدمين الجدد كل 30 دقيقة. مع @Scheduled، يمكنك تحقيق ذلك بسهولة.
من ناحية أخرى، فإن Shed Lock يدور حول ضمان تشغيل مثيل واحد فقط من المهمة المجدولة في كل مرة، خاصة في بيئة موزعة. في النظام الموزع، قد يكون لديك مثيلات متعددة لتطبيقك تعمل على خوادم مختلفة. بدون المزامنة المناسبة، يمكن تشغيل نفس المهمة المجدولة في وقت واحد على مثيلات متعددة، مما قد يؤدي إلى جميع أنواع المشكلات مثل تلف البيانات أو المعالجة المتكررة.
إذًا، كيف يعملون معًا؟ حسنًا، عند استخدام @Scheduled في إعداد موزع، فإنك تحتاج إلى التأكد من تنسيق المهام المجدولة. وهنا يأتي دور Shed Lock. فهو يعمل بمثابة حارس البوابة، ويتأكد من تشغيل مثيل واحد فقط لمهمة مجدولة معينة.
لنفترض أن لديك تطبيقًا للتجارة الإلكترونية يحتوي على خوادم متعددة تتعامل مع أجزاء مختلفة من العمل. لديك مهمة مجدولة تقوم بتحديث مستويات المخزون كل ليلة عند منتصف الليل. إذا كنت تستخدم @Scheduled فقط بدون Shed Lock، فقد يحاول كل خادم تحديث المخزون في نفس الوقت. قد يؤدي ذلك إلى إحصاء مخزون غير صحيح أو حتى الإفراط في بيع المنتجات.
ولكن عند دمج Shed Lock مع Spring'sScheduled، فإنه يستخدم آلية قفل. عندما يحاول أحد مثيلات التطبيق تشغيل مهمة تحديث المخزون المجدولة، فإنه يحاول أولاً الحصول على قفل. إذا كان القفل متاحًا، فإنه يحصل عليه ويقوم بتشغيل المهمة. أثناء تشغيله، ستلاحظ مثيلات التطبيق الأخرى التي تحاول تشغيل نفس المهمة أن القفل قد تم أخذه بالفعل ولن يتم تنفيذ المهمة. بمجرد انتهاء المثيل الأول من المهمة، فإنه يقوم بتحرير القفل، وإذا تمت جدولة المهمة للتشغيل مرة أخرى لاحقًا، فيمكن لمثيل آخر الحصول على القفل وتشغيله.
الآن، دعونا نتحدث عن أنواع الأقفال التي يمكن أن يستخدمها Shed Lock. هناك العديد من الخيارات المتاحة، مثل أقفال قاعدة البيانات، وأقفال Redis، وأقفال Zookeeper. تحظى أقفال قاعدة البيانات بشعبية كبيرة لأن معظم التطبيقات تحتوي بالفعل على قاعدة بيانات. يمكن لـ Shed Lock استخدام قاعدة البيانات لتخزين معلومات القفل. عندما تحاول مهمة ما الحصول على قفل، فإنها تقوم بإدراج سجل في جدول قفل خاص. إذا كان السجل موجودًا بالفعل، فهذا يعني أن القفل تم أخذه.
تعد أقفال Redis أيضًا خيارًا رائعًا، خاصةً إذا كان تطبيقك يستخدم Redis بالفعل للتخزين المؤقت أو لأغراض أخرى. Redis سريع جدًا، لذا فإن عمليات الحصول على القفل وتحريره سريعة، مما قد يؤدي إلى تحسين أداء المهام المجدولة.
أقفال Zookeeper مناسبة للأنظمة الموزعة الأكثر تعقيدًا. Zookeeper هي خدمة تنسيق موزعة يمكنها التعامل مع الأقفال الموزعة بكفاءة عالية. فهو يوفر ضمانات قوية للاتساق، وهو أمر مهم عندما تحتاج إلى التأكد من تشغيل مثيل واحد فقط للمهمة في المرة الواحدة.
إحدى فوائد استخدام Shed Lock مع Spring's @Scheduled هي أنه من السهل نسبيًا الدمج. كل ما عليك فعله هو إضافة تبعية Shed Lock إلى مشروعك وتكوينها وفقًا لاحتياجاتك. على سبيل المثال، إذا كنت تستخدم قفل قاعدة بيانات، فستحتاج إلى تحديد تفاصيل اتصال قاعدة البيانات واسم جدول القفل.


ميزة أخرى هي أنه يمنحك المزيد من التحكم في المهام المجدولة. يمكنك تحديد استراتيجيات قفل مختلفة لمهام مختلفة. ربما تكون بعض المهام أقل أهمية ويمكن أن تتحمل القليل من التداخل، بينما تحتاج المهام الأخرى إلى المزامنة الصارمة. باستخدام Shed Lock، يمكنك تخصيص سلوك القفل لكل مهمة.
الآن، إذا كنت في السوق للحصول على أقفال عالية الجودة لمظلاتك، فلدينا كل ما تحتاجه. نحن نقدم مجموعة واسعة منقفل السقيفةخيارات ليست آمنة فحسب، بل متينة أيضًا. تم تصميم أقفالنا لتحمل العناصر والحفاظ على ممتلكاتك آمنة.
بالإضافة إلى أقفال السقيفة، لدينا أيضًاقفل شريط الدفعللأبواب التجارية. هذه الأقفال سهلة الاستخدام وتوفر طبقة إضافية من الأمان لمقر عملك. وإذا كنت تبحث عن أقفال لمنزلك، فلديناأقفال المنزلهي خيار عظيم. أنها تأتي في أنماط وتشطيبات مختلفة لتناسب ديكور منزلك.
إذا كنت مهتمًا بمعرفة المزيد عن منتجاتنا أو لديك أي أسئلة حول كيفية عمل Shed Lock مع تطبيقاتك المستندة إلى Spring، فلا تتردد في التواصل معنا. نحن هنا لمساعدتك في العثور على الحلول المناسبة لاحتياجاتك المتعلقة بالأمان والجدولة. سواء كنت صاحب شركة صغيرة أو مؤسسة كبيرة، يمكننا أن نقدم لك المنتجات والدعم الذي تحتاجه.
في الختام، العلاقة بين Shed Lock والتعليق التوضيحيScheduled لـ Spring تدور حول ضمان التنفيذ السلس والصحيح للمهام المجدولة في بيئة موزعة. باستخدام Shed Lock، يمكنك تجنب مخاطر تنفيذ المهام المتزامنة وجعل تطبيقك أكثر موثوقية. وإذا كنت في السوق لشراء أقفال مادية، فنحن المورد المناسب لك.
مراجع
- وثائق إطار الربيع
- الوثائق الرسمية لقفل السقيفة
