madadi
5 سال پیش توسط madadi مطرح شد
9 پاسخ

وب سوکت با لاراول

سلام وقت بخیر دوستان
من میخوام یه اپ realtime بسازم
خواستم با نود بسازم اما به دلایلی با لاراول باید انجام بشه.
خواستم ببینم بنظر شما وب سوکت لاراول میتونه هندل کنه درخواست های بالا رو؟
و اینکه برا راه اندازی یه اپ ریل تایم مفید هست یا خیر
ممنون میشم راهنمایی کنید


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 5 سال پیش آپدیت شد
2

سلام

جواب سوالتون به متغیرهای زیادی وابسته است. مثل اینکه:

  • ذهنیتتون از درخواست بالا دقیقا چندتاست ؟
  • یا قصد راه اندازی سرور وب سوکت رو بروی سخت افزاری با چه میزان از منابع دارید؟
  • و ...

ولی خلاصه بخوام عرض کنم به نظرم عالیه و جوابگوی نیازتون خواهد بود.

صرفا جهت مقایسه یک آزمایشی انجام شده که Laravel WebSocket رو بروی ارزون ترین VPS دیجیتال اوشن (با ۱ گیگ رم و ماهی 5$) اجرا کردند و نتیجه شد 15000 کانکشن همزمان. با ارتقای سخت افزار به VPS با ۲ گیگ رم خروجی شده 60000 کانکشن همزمان!
این درحالیه که اگر خواسته باشید از سرویس های وب سوکت مثل pusher استفاده کنید برای 10000 کانکشن همزمان باید 500 دلار در ماه هزینه پرداخت کنید.

سند حرف هام و لینک های مرتبط که شاید کمکتون کنه:

https://docs.beyondco.de/laravel-websockets/1.0/faq/scaling.html
https://pusher.com/channels/pricing


madadi
@madadi 5 سال پیش مطرح شد
1

@mhyeganeh مرسی
جالبه پس
اره pusher رو میدونم.
پس همون وب سوکت خود لاراول جواب میده
ممنونم


madadi
@madadi 5 سال پیش مطرح شد
0

@mhyeganeh
وب سوکت خودش از پوشر استفاده نمیکنه مگه؟


Mojtaba Michael
تخصص : برنامه نویس FullStack لاراول و...
@mojimich2015 5 سال پیش مطرح شد
2

سلام و خسته نباشید
بنده تو این زمینه کار کردم ، پروژه اصلی که درست کردم به صورت کاملا مستقل بود، یعنی بخش سوکت رو مستقیما با node js نوشتم و بخش سایت جدا و ... ( اما بعدش اون رو به وسیله ی لاراول و ... بازنویسی کردم )
ولی ولی
اخیرا با دو تا پکیج کار کردم به نام های laravel-echo و laravel-echo-server . به وسیله ای این دو تا پکیج و redis شما میتونید یک هماهنگی خیلی خوبی با لاراول و نود جی اس و سوکت آی او داشته باشید . من استفاده کردم و کارش تضمین شده هست .
آموزش های انگلیسی راجع به کار کردن با این پکیج ها زیاد هست .
مورد بعدی اینه که پکیج laravel-echo-server رو میشه یا روی pusher قرار داد یا روی socket.io ، که در هر صورت طریقه ی استفاده به یک شکله .
اما سوالی که پیش میاد اینه که آیا pusher میتونه تعداد درخواست های بالا رو مدیریت کنه ؟ جواب این سوال اینه که شما هر چقد پول بدید همون قدر آش میخورید ، همونطور که میدونید pusher ُسرویس های مختلفی داره که فقط یک سرویس پایه رایگان داره که تعداد connection ها در اون محدود هست ، و بقیه سرویس ها قیمت های بالایی دارن .
بنابراین برای ما که ایران هستیم به نظرم استفاده از pusher برای کارهای جدی ، یخورده عجیب غریبه .
اما راجع به node js باید بگم شما هیچ محدودیتی توی ایجاد connection ندارید ، تمام محدودیت شما منابع سخت افزاری و سبک برنامه نویسیتون هست . شما باید یک VPS داشته باشید که بتونید Node JS و سرور سوکت رو روی اون اجرا کنید . ( هرچه VPS قویتر باشه تعداد کانکشن ها بالاتر میره ، البته یه مباحثی هست با عنوان distribution در Node JS که روش هایی رو آموزش میده تا بار روی سرور رو تقسیم کرد که اگه میخواید یه برنامه ی فوق حرفه ای رو ایجاد کنید نیاز هست که مسلط باشید بهش . )

این نکته رو خدمتتون بگم که تمامی این موارد خودم به شخصه چندین بار تست کردم .


madadi
@madadi 5 سال پیش مطرح شد
1

@mojimich2015
سلام
بسیار ممنون
بله pusher که محدوده
درمورد منابع سخت افزاری هم خوب مشکلی نیست میشه گرفت
الان شما کدوم یکی از پکیج ها رو پیشنهاد میدین؟ laravel-echo-server یا laravel-echo ؟


Mojtaba Michael
تخصص : برنامه نویس FullStack لاراول و...
@mojimich2015 5 سال پیش مطرح شد
1

شما باید از هر دوی اینها توی پروژتون استفاده کنید ، این لینک یه دانش مقدماتی راجع به کار کردن با این پکیج ها بهتون میده :
https://movor.io/article/simple-chat-app-using-laravel-echo-redis-and-socketio
امیدوارم مفید باشه براتون .


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 5 سال پیش مطرح شد
3

@madadi
برای کار با لاراول وب سوکت اگر چه باید یک پکیج که به نام pusher هست رو نصب بکنید ولی تو تنظیماتش بجای آدرس دهی به خود pusher به سرور خودتون وصلش میکنید. پس به عبارت دقیق تر نه لاراول وب سوکت از pusher استفاده نمیکنه.
آموزش کامل راه اندازی لاراول وب سوکت:
https://www.youtube.com/watch?v=pIGy7-7gGXI

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


Masoomeh
@zafari.ma.8 3 سال پیش مطرح شد
0

این روش اولی که گفتین با سوکت ای او وlaravel-echo و nodejs پیاده سازی کردین روی هاست نود جی اس قابل انجامه؟
@mojimich2015


علی
تخصص : Full Stack Developer
@designer.pcpro 2 سال پیش مطرح شد
0

سلام دوستان یک سوالی راجب این قضیه داشتم.
الان سرویس pusher قسمت host رو میشه روی خود لوکال ست کرد.
پس بنابراین اگه روی لوکال ست بشه، محدودیت های تعداد کانکشن و ... خود pusher برداشته میشه ؟
و فقط تنها دغدغه میشه منابع سرور که بکشه 2 ملیون کانکشن رو هندل کنه.


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

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