آموزش RabbitMQ & Java (Spring Boot) برای یکپارچه سازی سیستم

RabbitMQ & Java (Spring Boot) for System Integration

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آموزش استفاده از Rabbit MQ و جاوا برای پیام‌رسانی ناهمزمان و انتقال داده در بین سیستم‌ها به صورت بلادرنگ راه‌اندازی یک محیط RabbitMQ پایه یادگیری و پیاده‌سازی مفاهیم RabbitMQ: پیام، صف، مبادله یادگیری دانش پایه جاوا با Spring Boot یادگیری و اجرای برنامه‌های جاوا برای مدیریت ناهمزمان ادغام داده ها در میان چندین سیستم با استفاده از RabbitMQ Handle خطای اساسی که در جاوا + RabbitMQ رخ داده است، از جمله نحوه امتحان مجدد پیام ناموفق با استفاده از پایه RabbitMQ REST API پیش نیازها: درک الگوریتم اولیه و زبان برنامه نویسی زبان برنامه نویسی پایه جاوا (مخصوصاً با Spring) کمک می کند، اما یک الزام اجباری نیست

به‌روزرسانی جدید!

مفاهیم پیشرفته تر و کاربردی تر برای RabbitMQ. البته، کد منبع کار شامل:

است
  • تبدیل خودکار اشیاء جاوا به/از JSON

  • برای مصرف‌کنندگان برنامه‌ریزی کنید که در زمان معین توقف/شروع کنند

  • پیش واکشی مصرف کننده

  • سفارش پیام را انجام دهید

  • روش جدید برای نوشتن مصرف کننده

  • تبادل هش مداوم

  • الگوی درخواست-پاسخ

  • ساختارهای RabbitMQ (صف، تبادل، اتصال) از کد جاوا ایجاد کنید

  • RabbitMQ را با استفاده از Docker نصب کنید. برای همه سیستم عامل ها کار می کند!

  • از افزونه‌های RabbitMQ برای گسترش قابلیت‌ها استفاده کنید

  • نمی خواهید RabbitMQ را نصب کنید؟ از آن در ابر استفاده کنید!

  • مکانیسم را بدون هیچ کدی دوباره امتحان کنید! (تبادل مستقیم)

  • دوباره، مکانیسم را بدون نوشتن کد دوباره امتحان کنید! (تبادل fanout)

  • پاداش اضافی برای معماری مدرن!

  • مصرف کننده فعال تنها

  • انتشار قابل اعتماد

---------------------------------------------- ------------------------------------------------ -----


سیستم پیام رسانی

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

این نوع تقاضا بسیار رایج است و خوشبختانه فناوری امروزی پاسخی برای آن دارد. به سیستم پیام رسانی سلام کنید، جایی که می توانید پیام را به راحتی از یک سیستم به سیستم(های) دیگر به صورت ناهمزمان، در فاصله زمانی تقریباً واقعی ارسال کنید. برخی از سیستم های پیام رسانی محبوب در بازار وجود دارد که در این دوره ما در مورد یکی از محبوب ترین آنها صحبت خواهیم کرد: RabbitMQ.


RabbitMQ

Rabbit MQ مانند هاب مرکزی است که در آن همه داده‌ها را از سیستم(های) منبع قرار می‌دهید، و سایر سیستم‌های مربوطه داده‌ها را گرفته و پردازش می‌کنند. RabbitMQ منبع باز، قابل اعتماد و قادر به کار بر روی خوشه است. منحنی یادگیری کوچکی برای شروع دارد، اما برای ادغام سیستم به اندازه کافی قدرتمند است.

این دوره شامل همه چیزهایی است که باید در مورد RabbitMQ اساسی و پیاده سازی با استفاده از جاوا (Spring Framework) بدانید. پس از اتمام این دوره، باید بتوانید RabbitMQ را از برنامه جاوا نصب، پیکربندی و استفاده کنید. در این دوره آموزشی، گام به گام با جزئیات از کدنویسی مفهومی تا عملی جاوا آشنا خواهیم شد. با توجه به این روش، شما یاد خواهید گرفت که درک منطق پشت سر داشته باشید و تجربه کنید که چگونه کارها با استفاده از کدهای منبع Rabbit MQ و جاوا انجام می شوند.


جاوا و بوت بهار

خود جاوا سالهاست که یک زبان محبوب بوده است. جاوا به عنوان پرکاربردترین زبان برنامه نویسی جهان توسط چندین شاخص زبان برنامه نویسی شناخته شده است. به دلیل محبوبیت و سابقه طولانی، جاوا پروژه های متن باز یا چارچوب زیادی دارد تا به توسعه دهندگان کمک کند کارآمدتر کار کنند. یکی از فریم ورک های محبوب جاوا Spring Framework است. با گذشت سالها، Spring Framework به طور قابل توجهی در میان جامعه جاوا رشد کرده است. تقریباً تمام اجزای نرم افزار مورد نیاز یک برنامه جاوا در چارچوب Spring در دسترس هستند. با این حال، پیکربندی Spring نیاز به تلاش دارد. این شامل تنظیم وابستگی‌های کتابخانه، سپس پیکربندی دانه‌های بهار جاوا با استفاده از XML یا حاشیه‌نویسی در کد جاوا است. توسعه دهندگان بهار به زودی متوجه شدند که امکان خودکارسازی بیشتر این کار وجود دارد.

بنابراین در سال 2014، Spring Boot 1.0 برای جامعه جاوا منتشر شد. Spring Boot به برنامه نویسان جاوا کمک های خودکار زیادی می دهد و منجر به پذیرش سریع پروژه در مقیاس بزرگ توسط توسعه دهندگان جاوا می شود.

در برنامه های دنیای واقعی، جاوا با Spring، همراه با RabbitMQ، می تواند برای انتقال داده ها در بین سیستم ها مفید باشد. Rabbit MQ خود در بین توسعه دهندگان جاوا محبوب است، اگرچه توسعه دهندگان RabbitMQ مشتری برای چندین زبان برنامه نویسی غیر از جاوا ارائه می دهند.


آنچه دریافت خواهید کرد

پس از اتمام دوره، یاد خواهید گرفت:

  • نصب RabbitMQ و جاوا (در ویندوز. در حال حاضر لینوکس/مک ندارم)

  • مفاهیم کلیدی RabbitMQ

  • مدیریت RabbitMQ از رابط کاربری وب

  • ناشر و مصرف کننده را با استفاده از جاوا (Spring Boot) ایجاد کنید

  • در صورت بروز خطا در هنگام پردازش پیام Rabbit MQ، کنترل کننده اصلی خطا

  • در صورت وجود پیام شکست، مکانیسم را مجدداً در RabbitMQ امتحان کنید

  • سفارش پیام را انجام دهید


این دوره نه تنها تئوری Rabbit MQ، بلکه بسیاری از کدنویسی های عملی را برای شما توضیح می دهد تا دستان شما کثیف شود و مغز شما کار کند. چه یک سرگرمی، مبتدی یا یک توسعه دهنده با تجربه باشید، این دوره مطمئناً ارزش افزوده ای را برای شما به ارمغان می آورد!


جاده به میکروسرویس ها

کارگزار پیام یکی از ارکان مهم معماری میکروسرویس است. در سرویس میکرو، ما از پیام رسانی ناهمزمان برای ارتباطات بین سرویسی استفاده می کنیم. خدماتی که با تبادل پیام از طریق کانال های پیام رسانی مانند RabbitMQ ارتباط برقرار می کنند.

در این دوره، تئوری و کد دستی پیام رسانی با RabbitMQ و همچنین آشنایی با REST API که یکی دیگر از ارکان معماری میکروسرویس است را خواهید آموخت.


مهم است!

این دوره از Spring Boot نسخه 2.x استفاده می کند.

در اواخر نوامبر 2022، Spring Boot 3.0.0 منتشر شد. به روز رسانی دوره به Spring boot 3.0.0 زمان می برد، اما من تمام تلاش خود را خواهم کرد.

در این بین، چندین گزینه دارید:

  • با آخرین نسخه Spring boot 2.x کار می کند و دوره باید کاملاً سازگار باشد

  • با Spring boot 3.x کار می کند. اکثر دوره ها باید کار کنند، اما برخی از قسمت ها ممکن است نیاز به تنظیم داشته باشند.


سرفصل ها و درس ها

معرفی Introduction

  • به این دوره خوش آمدید Welcome to This Course

  • ساختار دوره Course Structure

  • نکات: چگونه از این دوره بیشترین ارزش را دریافت کنید Tips : How To Get Maximum Value From This Course

نسخه بوت بهار Spring Boot Version

  • نسخه بهار بوت در این دوره Spring Boot Version in This Course

فناوری در این دوره Technology in This Course

  • کد منبع و اسکریپت ها Source Code & Scripts

  • سیستم پیام رسانی Messaging System

  • سیستم پیام رسانی: یک نکته Messaging System : A Note

  • RabbitMQ RabbitMQ

  • جاوا و بهار Java & Spring

نصب و راه اندازی Installation

  • لینک های دانلود Download Links

  • RabbitMQ را روی ویندوز نصب کنید Install RabbitMQ on Windows

  • RabbitMQ را روی لینوکس اوبونتو/دبیان نصب کنید Install RabbitMQ on Linux Ubuntu / Debian

  • RabbitMQ را با استفاده از Docker نصب کنید Install RabbitMQ using Docker

  • جاوا را نصب کنید Install Java

  • Eclipse را نصب کنید Install Eclipse

مفاهیم پایه RabbitMQ RabbitMQ Basic Concepts

  • مفاهیم پایه RabbitMQ RabbitMQ Basic Concepts

شروع به نوشتن کدها کنید Start Writing Codes

  • چکمه بهاره Spring Boot

  • سلام RabbitMQ! - قبل از اینکه شروع کنیم Hello RabbitMQ! - Before We Start

  • سلام RabbitMQ Hello RabbitMQ

  • مصرف کننده در واقع زمان واقعی است Consumer Is Real Time Indeed

  • مصرف کنندگان متعدد برای هر صف Multiple Consumers For Each Queue

کار با پیام JSON Working with JSON Message

  • چرا JSON؟ Why JSON?

  • تولید پیام JSON Producing JSON Message

  • فرمت JSON را سفارشی کنید Customize JSON Format

  • مصرف پیام JSON Consuming JSON Message

تبادل RabbitMQ RabbitMQ Exchange

  • مبادله: کارمند Exchange : The Employee

  • تبادل Fanout Fanout Exchange

  • تبادل مستقیم Direct Exchange

  • تبادل موضوع Topic Exchange

  • تبادل سرصفحه Headers Exchange

پستچی و خرگوش ام کیو Postman & RabbitMQ

  • پستچی برای RabbitMQ Postman for RabbitMQ

مدیریت خطاهای اساسی Basic Error Handling

  • درباره این بخش About This Section

  • DLX (تبادل نامه مرده) DLX (Dead Letter Exchange)

  • TTL (زمان برای زندگی) TTL (Time To Live)

  • استثناء مصرف کننده بدون DLX Consumer Exception without DLX

  • رسیدگی به استثنای مصرف کننده با DLX (راه حل اول) Handle Consumer Exception with DLX (Solution One)

  • رسیدگی به استثنای مصرف کننده با DLX (راه حل دوم) Handle Consumer Exception with DLX (Solution Two)

  • کدام راه حل DLX را انتخاب کنید؟ Which DLX Solution to Choose?

  • نسخه ی نمایشی TTL (زمانی که مصرف کننده ای در دسترس نباشد) TTL Demo (When No Consumer Available)

مدیریت خطا با مکانیسم سعی مجدد Error Handling with Retry Mechanism

  • چرا مکانیسم مورد نیاز است؟ Why Retry Mechanism Required?

  • مکانیزم برای تبادل مستقیم را دوباره امتحان کنید Retry Mechanism for Direct Exchange

  • مکانیسم برای تبادل Fanout را دوباره امتحان کنید Retry Mechanism for Fanout Exchange

زندگی دیگران را آسان تر کنید Make Other People Life Easier

  • زندگی دیگران را آسان کنید Make Other People Life Easy

  • RabbitMQ REST API RabbitMQ REST API

  • صف های کثیف را جارو کنید Sweep Dirty Queues

پلاگین های RabbitMQ و Cloud RabbitMQ RabbitMQ Plugins & Cloud RabbitMQ

  • پلاگین های RabbitMQ RabbitMQ Plugins

  • RabbitMQ در ابر RabbitMQ On Cloud

مکانیسم امتحان مجدد آسان با فنر Easy Retry Mechanism With Spring

  • مکانیسم تلاش مجدد بهار برای تبادل مستقیم Spring Retry Mechanism for Direct Exchange

  • مکانیسم تلاش مجدد بهار برای تبادل Fanout Spring Retry Mechanism for Fanout Exchange

  • در نظر گرفتن تلاش مجدد بهار Spring Retry Consideration

Spring & RabbitMQ - مفاهیم پیشرفته Spring & RabbitMQ - Advanced Concepts

  • پروژه دو Project Two

  • مبدل پیام JSON JSON Message Converter

  • [اختیاری] اگر نمی توانید نام بسته را کنترل کنید [Optional] If You Can't Control The Package Name

  • برنامه ریزی مصرف کننده Scheduling Consumer

  • یادداشت‌ها: Spring Cron Expression Notes : Spring Cron Expression

  • واکشی اولیه مصرف کننده Consumer Prefetch

  • چند مقدار از پیش واکشی Multiple Prefetch Values

  • سفارش پیام Message Order

  • انواع پیام های متعدد Multiple Message Types

  • یک صف + انواع پیام چندگانه (تولید کننده) One Queue + Multiple Message Types (Producer)

  • یک صف + انواع پیام های متعدد (مصرف کننده) One Queue + Multiple Message Types (Consumer)

  • یک صف + انواع پیام های متعدد (دستورکار پیش فرض) One Queue + Multiple Message Types (Default Handler)

  • تبادل هش سازگار Consistent Hash Exchange

  • مصرف کننده فعال واحد Single Active Consumer

  • انتشار قابل اعتماد Reliable Publish

  • درخواست/پاسخ Request / Reply

ساختار RabbitMQ را از کد جاوا ایجاد کنید Create RabbitMQ Structure From Java Code

  • ایجاد تبادل و صف از کد جاوا: قسمت اول Create Exchanges & Queues From Java Code : Part One

  • ایجاد تبادل و صف از کد جاوا: قسمت دوم Create Exchanges & Queues From Java Code : Part Two

RabbitMQ در مقابل کافکا RabbitMQ vs Kafka

  • RabbitMQ در مقابل کافکا RabbitMQ vs Kafka

جایزه Bonus

  • متشکرم Thank You

  • منابع و مراجع Resources & References

  • پاداش: دوره های دیگر و کدهای تخفیف Bonus : Other Courses & Discount Codes

نمایش نظرات

Udemy (یودمی)

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

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

آموزش RabbitMQ & Java (Spring Boot) برای یکپارچه سازی سیستم
جزییات دوره
7.5 hours
72
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,998
4.3 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Timotius Pamungkas Timotius Pamungkas

مهندس نرم افزار جاوا، معمار