reza oftadehal
6 ماه پیش توسط reza oftadehal مطرح شد
3 پاسخ

دریافت اطلاعات از سرور هر یک ثانیه

سلام.
بنده در حال حاضر روی یک اپی دارم کار میکنم که باید هر 1 ثانیه اطلاعات بسیار جزئی ( درحد یکی 2 کلمه ) از mysql دریافت کنه.
( یک جورایی اپلیکیشنی که دست کلاینت هست، هر 1 ثانیه بصورت اتوماتیک پایگاه داده هارو چک کنه )

میخواستم بدونم آیا این روش، روش درستیه؟
و اینکه هر 1 ثانیه اگه بخواد درخواست بده به سرور مشکلی ایجاد نمیشه؟
مخصوصا وقتی که مثلا 1000 نفر این اپ رو نصب کرده باشن؟

اگه بجای استفاده از mysql، یک فایل txt درون هاست بگذارم که php اونو بخونه و برای کلاینت از طریق post ارسال کنه،
این روش بهتر نیست به لحاظ پرفورمنس؟

اگر روش بهتری هست ممنون میشم بهم معرفی کنید.


ثبت پرسش جدید
محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 6 ماه پیش مطرح شد
1

سلام دوست عزیز
قطعا این کار اشتباه هست مخصوصا توی همجین بازه زمانی ای
در رابطه با فایل txt هم باعث میشه فضای رم اشغال بشه و اکر به جای هر user یک دستور fopen مثلا بدیم برای هزار یوزر خب صحیح نیست به نظرم
بهترین و بهینه ترین کار استفاده از سرویس های ارسال پیام همه پخشی مثل pusher هست
پوشر یه سرویس ایرانی هم داره مثلش که لیارا قبلا ارایه میداد اگر بهشون پیام بدی راهنماییت میکنن
اگر بلد باشی با nodejs و laravel هم میتونی همچین سرویسی خودت پیاده سازی کنی
یعنی شما هر وقت که نیاز داری به کاربرت بگی داده لود کنه یه پیام ارسال میکنی و با دریافت اون پیام کلاینت ها خودشون رو به روز میکنن
این عمل میتونه ب شدت مفید باشه و فقط و فقط در صورت تغییر دیتابیس شما نیاز به بروزرسانی خواهی داشت و با این چیزی که شما گفتی قطعا از هزاران درخواست در دقیقه جلوگیری میکنه
چون شما هر ثانیه یک درخواست و 1000 کار بر همزمان داری یعنی هر ثانیه داری هزار درخواست به سرور میدی که واقعا زیاد هست


reza oftadehal
@rezaofi 6 ماه پیش مطرح شد
0

تشکر از پاسخ خوبتون.🙏🙏
ببینید در اصل بنده این کارو میخوام بر روی یک سری بورد های الکترونیکی پیاده سازی کنم.
که این بورد ها یک سری دیتای خاص رو از سرور بگیرن، در بازه های زمانی کوتاه 1 ثانیه ای.

و اینکه نمیدونم از nodejs و ... هم میشه استفاده کرد یا نه.
من در پرسش بالا گفتم روی اپ دارم کار میکنم که توضیح ساده تری داده باشم ولی در حقیقت این کانکشن قراره بین بورد الکترونیکی و دیتابیس صورت بگیره ( که البته سر اون مسائلش مشکلی ندارم فقط دنبال بهینه ترین حالت برای دریافت لحظه اطلاعات هستم )

به نظر شما، استفاده از websocket چی؟ خوب نیست؟
مثلا کلاینت ها به سرور از طریق websocket کانکت بشن و هر وقت تغییری در دیتای کلاینتی صورت میگیره این سرور باشه که به کلاینت مورد نظر پیام بده.


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 6 ماه پیش آپدیت شد
1

خدمت شما گفتم که سرویسی مثل pusher
websocket هم همونطور هست دقیقا
شما یک سرویس دهنده ی جانبی داری که کارش ارسال پیام به کلاینت ها هست و همه بهش وصل هستند و به این سرور جانبی پیام میدن و بقیه دریافت میکنن
چیزی که توی چت های انلاین توی سایت ها زیاد دیده میشه
شما به هر شکلی بتونی این سرویس رو استفاده کنی فرق نداره که
websocket هم همون کارو میکنه
اگر سایت راکت رو هم توی مرور گر inspect بگیری و بخش network بری و ws رو باز کنی صفحه رو یه رفرش کنی میبینی که وبسوکت داره استفاده میکنه برای همین صفحه سوالات که پیام جدید رو بروزرسانی کنه و از رفرش دوره ای زمانی دوری کنه
 تصویر


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

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