سلام و عرض ادب.
من سیستمی دارم که با لاراول نوشته شده، میخوام زمانی که بار شبکه افزایش پیدا میکنه درخواست های کاربران رو بریزم توی صف اولویت. مشکل صف نیست و کاملا باهاش آشنایی دارم. چالشی که بوجود اومده اینه که میخوام یک سرویسی بسازم که در بک گراند به صورت یک لوپ صف رو چک کنه و هر چیزی که داخل صف بود رو بخونه و عملیات رو انجام بده و همینطور بعدی...
ممنون بابت کمک هاتون
از Cronjob میتونید استفاده کنید..
فقط باید مراقب باشید عملیات محاسباتی که انجام میدید، بهینه شده باشه تا فشار زیادی روی سرور نیاد
@khanzadimahdi عرض ادب.
ممنون بابت پاسخ. ولی فکر نمیکنم این بخواد لوپی باشه از نوع بی نهایت.
ولی خب فکر میکنم برنامم رو باید بهش event اضافه کنم تا با همون رویداد ها کار کنه. به ازای هر رویدادی که وارد سیستم میشه، سرویس نوشته شده فراخوانی بشه و ادامه ماجرا...
موضوع قدیمی بود اما چون همچنان ممکنه جستجو بشه راه حلی که از نظر خودم صحیح هست رو اینجا مینویسم.
برای معماری ها و سرویس هایی که تراکنش های بالایی دارن استفاده از سرویس های مسیج بروکر توصیه اول هست. معرفی مینیمال چند مسیج بروکر :
کافکا : مناسب برای معماری های گسترده و با تراکنش بسیار بالا ، توسعه پذیری استاندارد و با پیاده سازی ساده ، نیازمند کلاینت (سرویسی که میخواد با مسیج بروکر تعامل کنه) هوشمند و پیچیده
ربیت ام کیو : ربیت سعی کرده کار برای کلاینت آسانتر باشه اماتوزیع پذیری اون (کلاسترینگ) در پروژه های بز رگتر نیازمند دقت و وسعت نظر بیشتری هست . بطور کلی ریسورس کمتری اشغال میکنه و به شرط مسلط بودن هم دولوپر و هم زیرساخت به معماری ربیت قابل استفاده در پروژه های بزرگ ، متوسط و کوچک.
زیروام کیو : یک سرویس سبک و ساده ، مناسب پروژه های کوچک و تطبیق پذیری بالا با ا پی اچ پی.
: استفاده از مدل های event checker در معماری کلی ؛ این دیدگاه نیازمند تشخیص دقیق دیتافلو پروژه هاست. ساده ترین حالت استفاده از trigger های دیتابیسی در پروژه های کوچک و غیر میکروسرویسی است.
استفاده از job ها در لایه سیستم عامل یا دیتابیس (مناسب پروژه های monolithic)
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟