لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش 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
نمایش نظرات