/rabbitmq-persian

rabbitmq به زبان ساده

GNU General Public License v3.0GPL-3.0

رابیت ام کیو به زبان ساده - RabbitMQ-in-persian

سلام

یکی از دلالیلی که این مخزن رو درست کردم این بود که بعد از کلی سرچ واقعا یه داک خوب فارسی برای رابیت ام کیو پیدا نکردم برای همین بعد از خوندن داک خود رابیت ام کیو و دیدن دوره هاش تو یوتیوب و سایت های دیگه تونستم درک نسبتا کاملی رو پیدا کنم که گفتم با شما در میون بزارم

در این دوره چه انتظاراتی داریم

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

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

کمک و یاری

اگه غلط املایی و یا اشتباهی تو این داک دیدید ممنون میشم ریپورتش کنید یا خودتون درستش کنید و یا اگه جایی رو خیلی بهتر از من میتونید توضیح بدید بهم بگید تا به اسم خودتون داک رو درستش کنم یا بازم مثل دفعه قبل میتونید خودتون ایشو باز کنید و درستش کنید

خیلی ممنون 🌹

توضیحات اولیه در مورد رابیت ام کیو

به زبان ساده رابیت ام کیو یه دلال یا کارگزار پیام (۱) هستش و کار صف بندی رو انجام میده خب این یعنی چی!!! بزارید یه مثال بزنم تا بتونیم این مسئله رو راحت متوجه بشیم

به یک رستوران فکر کنید که همه برای سفارش غذا به باجه ی سفارش غذا میرن و هر کدوم یه غذایی سفارش میدن

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

کسایی که این غذا ها رو سفارش میدن اصلا آشپز رو نمیبینن و اصلا اطلاعاتی از آشپز ها ندارن بعد اینکه سفارش رو به کسی که پشت باجه وایستاده میدن اون فرد سفارش ها رو در جاهای مخصوص میزاره و آشپز به اون جا سر میزنه و میبینه که سفارش جدید داره و کار خودشو شروع میکنه

آشپزی که مسئول درست کردن پیتزا هست اول باید پیتزا مخصوص رو درست کنه چون این سفارش اول صف بوده و بعد پیتزا ی پپرونی رو درست کنه

یا شاید دوتا آشپز مشغول باشن و یکی یه پیتزا رو درست کنه و اون یکی یه پیتزای دیگه

و کسیم که مسئول سیب زمینی هاست هم در جای سفارشات خود سفارش رو میبینه و مشغول انجام کار خودش میشه

رابییت ام کیو یه جوری همین سیستم رو داره و پیام یه تولید کننده (۲) رو به یک مصرف کننده (۳) میده جوری که یک فرستنده چیزی از گیرنده نمیدونه و همینطور برعکس

و کار دیگه ی رابیت ام کیو ایجاد همین صف های منظم هست که پیام ها رو داخل صف قرار بده تا یکی یکی انجام بشن

رابیت ام کیو برای کار هایی مانند گزارش گرفتن, ارسال ایمیل, ارسال اس ام اس و ازهمین نوع کار ها استفاده میشه که نسبتا زمان طولانی صرف میکنه و برای همین ما مفهومی به اسم صف داریم تا تسک ها و کارها در داخل صف قرار بگیرن تا به نوبت انجام بشن

خب چرا اصلا ما نیاز به همچین سیستمی داریم؟

قبل اینکه شروع کنیم باید بگم که فرض بر این هست که شما خودتون رابیت ام کیو رو رو سیستمتون نصب کردید و رانش کردید من خودم به شخصه از ایمیج داکر خود رابیت استفاده میکنم و پیشنهاد خودمم به شما همین روش هست داک کاملی داره و به راحتی میتونید ایمیج رو بیارید و رانش کنید

یه موضوع دیگه اینکه من مثال ها رو تو این دوره با جاوا اسکریپت مینویسم ولی خب واقعا هیچ فرقی نداره و شما باید مفهوم ها رو متوجه بشید و تو داک خود رابیت نمونه کد ها هست و میتونید برای پیدا کردن نمونه کد زبان مد نظرتون به داک خود رابیت مراجعه کنید


(۱) message broker

(۲) producer

(۳) consumer