4 پاسخ

ایجاد سرویس daemon با زبان php یا فریمورک لاراول

سلام و عرض ادب.
من سیستمی دارم که با لاراول نوشته شده، میخوام زمانی که بار شبکه افزایش پیدا میکنه درخواست های کاربران رو بریزم توی صف اولویت. مشکل صف نیست و کاملا باهاش آشنایی دارم. چالشی که بوجود اومده اینه که میخوام یک سرویسی بسازم که در بک گراند به صورت یک لوپ صف رو چک کنه و هر چیزی که داخل صف بود رو بخونه و عملیات رو انجام بده و همینطور بعدی...
ممنون بابت کمک هاتون


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

از Cronjob میتونید استفاده کنید..
فقط باید مراقب باشید عملیات محاسباتی که انجام میدید، بهینه شده باشه تا فشار زیادی روی سرور نیاد


mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 5 سال پیش مطرح شد
1

برای ایجاد لوپ از react php استفاده کنید

https://reactphp.org


0

@khanzadimahdi عرض ادب.
ممنون بابت پاسخ. ولی فکر نمیکنم این بخواد لوپی باشه از نوع بی نهایت.
ولی خب فکر میکنم برنامم رو باید بهش event اضافه کنم تا با همون رویداد ها کار کنه. به ازای هر رویدادی که وارد سیستم میشه، سرویس نوشته شده فراخوانی بشه و ادامه ماجرا...


علیرضا دینی
تخصص : برنامه نویس
@alirezadini 2 سال پیش مطرح شد
3

موضوع قدیمی بود اما چون همچنان ممکنه جستجو بشه راه حلی که از نظر خودم صحیح هست رو اینجا مینویسم.

روش اول : استفاده از مسیج بروکرها

برای معماری ها و سرویس هایی که تراکنش های بالایی دارن استفاده از سرویس های مسیج بروکر توصیه اول هست. معرفی مینیمال چند مسیج بروکر :
کافکا : مناسب برای معماری های گسترده و با تراکنش بسیار بالا ، توسعه پذیری استاندارد و با پیاده سازی ساده ، نیازمند کلاینت (سرویسی که میخواد با مسیج بروکر تعامل کنه) هوشمند و پیچیده
ربیت ام کیو : ربیت سعی کرده کار برای کلاینت آسانتر باشه اماتوزیع پذیری اون (کلاسترینگ) در پروژه های بز رگتر نیازمند دقت و وسعت نظر بیشتری هست . بطور کلی ریسورس کمتری اشغال میکنه و به شرط مسلط بودن هم دولوپر و هم زیرساخت به معماری ربیت قابل استفاده در پروژه های بزرگ ، متوسط و کوچک.
زیروام کیو : یک سرویس سبک و ساده ، مناسب پروژه های کوچک و تطبیق پذیری بالا با ا پی اچ پی.

روش دوم event checker

: استفاده از مدل های event checker در معماری کلی ؛ این دیدگاه نیازمند تشخیص دقیق دیتافلو پروژه هاست. ساده ترین حالت استفاده از trigger های دیتابیسی در پروژه های کوچک و غیر میکروسرویسی است.

روش سوم job

استفاده از job ها در لایه سیستم عامل یا دیتابیس (مناسب پروژه های monolithic)


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام