آموزش Pub-Sub:ارسال پیام بین Laravel و Nodejs

pub-sub چیست؟

در نرم افزار تلگرام بخشی به نام کانال وجود دارد، این کانال را در نظر بگیرید که مثلا یک میلیون نفر عضو آن شده اند و مدیر (publisher) کانال با ارسال پیام به کانال در واقع آن را برای همه مخاطبین (subscribers)  کانال ارسال می‌کند. این روش یک پیاده سازی دقیق از pub-sub می‌باشد.

pub-sub

pub-sub یک مدل از message pattern ها

در دنیای نرم افزار روش هایی برای ارسال پیام بین سیستم‌های مختلف و مجزا از هم وجود دارد که با عنوان message pattern شناخته می‌شوند. این روش‌ها باعث می‌شود بتوانیم پیام هایی از هر نوع را بدون در نظر گرفتن پلت فرم‌های مبدا و مقصد ارسال کنیم. مثلا در وب سرویس‌های Soap شما یک پیام و درخواست از زبان PHP به سیستمی ارسال می‌کنید که با پلت فرم .Net طراحی شده است و متناظر با درخواست ارسال شده یک جواب دریافت می‌کنید.

در سیستم‌های بزرگ نرم افزاری که روزانه میلیارد‌ها داده ارسال و دریافت می‌شود نقش message pattern‌ها بسیار حیاتی می‌باشد. نرم افزار تلگرام یکی از نمونه‌های واقعی استفاد از این مدل pub-sub برای اطلاع رسانی و ارسال پیام می‌باشد. البته باید در نظر داشته باشید الزاما منظور از پیام فقط پیام متنی ساده یا ویدیویی نیست بلکه پیام می‌تواند شامل هر نوع محتوایی باشد.

 

در ویدیوی زیر می‌توانید پیاده سازی مدل pub-sub با استفاده از دیتابیس Redis را در فریمورک Laravel و Nodejs مشاهده کنید.

 
ارسال دیدگاه
ما همه سوالات و دیدگاه ها رو می خونیم و پاسخ میدیم
۸ دیدگاه
امیر فرامرزی ۱۴ اسفند ۱۳۹۷، ۰۰:۳۲
چطور میشه این پیام هایی رو ک از چنل نیوز میگیریم رو داخل ویو لاراول نمایش بدیم؟
seyed mousavi ۰۶ آبان ۱۳۹۷، ۲۱:۴۶
سلام بسیار عالی بود
از nodejs بیشتر آموزش بزارید ممنون
Tabesh Rouhani ۰۵ آبان ۱۳۹۷، ۱۲:۴۹
سیستم عامل شما برای دوره متخصص چی هست ؟ مک یا اوبونتو
چون میخوام منم همونو داشته باشم
کیوان علی محمدی ۰۵ آبان ۱۳۹۷، ۱۳:۵۰
هم از ویندوز استفاده می کنیم و هم از ubuntu
Tabesh Rouhani ۰۵ آبان ۱۳۹۷، ۱۱:۳۳
این ویدئو چکیده است یا کلا قسمت realtime دوره متخصص چکیده است ؟
کیوان علی محمدی ۰۵ آبان ۱۳۹۷، ۱۲:۰۷
این ویدیو از ویدیوهای دوره متخصص جداست.
Tabesh Rouhani ۰۵ آبان ۱۳۹۷، ۱۰:۵۴
من کامل متوجه مطلب شما نشدم
چون node.js تاحالا کار نکردم
من فکر میکردم قراره مثلا یک سیستم توی پروژه لاراولی راه بنذارید که هر وقت مثلا ادمین پیامی به کاربر ارسال کرد براش نوتیفیکشین بره یا کاربر بتونه چت آنلاین با ادمین داشته باشه
حالا نمیدونم فقط قراره به همین شکل گفته بشه یا اون ها هم راه اندازی میشه ؟
چون این که شما گفتید برای کسی که node رو خوب بلده ok هست ولی برای کسی که بلد نیست گنگ هست
و اینکه سیستم عامل شما برای دوره متخصص چی هست ؟ مک یا اوبونتو
کیوان علی محمدی ۰۵ آبان ۱۳۹۷، ۱۱:۰۴
من در ویدیو توضیح دادم که روش های استفاده از این سیستم چه مواردی می تونه باشه. در واقع این آموزش به صورت abstract موضوع رو توضیح میده و میشه برای اون کلی پیاده سازی از سیستم نوتیفیکشن تا سیستم چت در نظر گرفت.
اشتراک گذاری مقاله در :
  • pub-sub چیست؟
  • pub-sub یک مدل از message pattern ها