سیستمطراحی: چطور برنامهای میزبانی کنیم که هر ۵ دقیقه یکبار کار اجرا کند؟
برای اجرای کارهای دورهای مثل ارسال یادآوری یا پاکسازی دادهها، سادهترین راه استفاده از کرون روی سرور است. در سامانههای بزرگتر، کارگرهای پسزمینه یا کرونجابهای کوبرنتیس بهکار گرفته میشود تا بار API جدا بماند و مقیاسپذیری حفظ شود. برای جلوگیری از اجرای همزمان روی چند سرور، قفل توزیعی یا صف پیام استفاده میشود.

چرا مهمه؟
کارهای دورهای بدون ترافیک کاربر باید بهصورت مستقل اجرا شوند؛ در غیر این صورت سرویسهای حساس مثل تسویهحساب یا پاکسازی توکن دچار نقص میشوند. سرورهای متعدد میتوانند یککار را چند بار انجام دهند؛ قفل توزیعی یا صف پیام این مشکل را رفع میکند. خواننده باید بداند چه ابزارهایی برای اطمینان از اجرا و جلوگیری از تکرار وجود دارد تا سامانهاش پایدار بماند.
به درد کی میخوره؟
• توسعهدهندگان بکاند • مهندسان DevOps • مدیران محصول • تیمهای عملیات
تو عمل چی کار کنیم؟
با خواندن این مطلب میتوانید برای برنامهتان یک کرون ساده یا کرونجاب کوبرنتیس تنظیم کنید، سپس با Redis یا دیتابیس قفل توزیعی از تکرار جلوگیری کنید. اگر سامانهتان بزرگ شد، کارها را به صف پیام (RabbitMQ یا Kafka) بفرستید تا کارگرهای مستقل پردازش کنند و مقیاسپذیری و تحمل خطا افزایش یابد.
نظر BlueIT News
پیشنهاد میشود برای برنامههای حساس از ترکیب کرونجاب کوبرنتیس و صف پیام استفاده کنید؛ این ترکیب هم زمانبندی دقیق و هم قابلیت بازنگری خودکار را فراهم میکند.