میکروسرویسها - میکروسرویس Spring Cloud با Rest API
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- میکروسرویسها رویکردی در توسعه نرمافزار و وبسایت هستند که یک پروژه بزرگ را به چندین بخش کد مستقل تجزیه میکنند.
- میکروسرویسها توسعهدهندگان را قادر میسازند تا اپلیکیشن ها را به مجموعهای از سرویسهای ابری جداشده تقسیم کرده و هر قطعه را کانتینریزه کنند.
- نصب Java JDK و مفیدترین IDEها مانند Eclipse و IntelliJ
- Lombok
- Postman
- Spring Rest API
- JPA
- Mongo DB
- اعتبارسنجیها
- Model Mapper
- Spring Cloud Config (سرور پیکربندی)
- Eureka Server
- Swagger
- Docker File
- JPA با MySQL
- Elastic Search
- جستجوی کامل متن با Elastic Search
- ارتباط میکروسرویسها
- Rest Template
- Web Client
- OpenFeign
- RabbitMQ و Kafka
- JPA با PostgreSQL
- Zipkin
- Spring Cloud Gateway (Api Gateway)
- Resilience4j (Circuit Breaker)
- Admin Server
- داکرسازی
- oAuth Server
پیشنیازهای دوره
- دانش اولیه جاوا
- دانش اولیه Spring
- آشنایی با SQL یا تجربه برنامهنویسی خوب است اما الزامی نیست.
- داشتن یک کامپیوتر قابل استفاده و اتصال اینترنت
- تمایل به یادگیری میکروسرویسها و فریمورک Spring
- تماشای کامل ویدیوهای دوره، تا انتها و به ترتیب
- هیچ چیز دیگری! فقط شما، کامپیوترتان و انگیزهتان برای شروع امروز
توضیحات دوره
به دوره «میکروسرویسها | میکروسرویس Spring Cloud با Rest API» مدرس خوش آمدید.
میکروسرویسها و Spring Boot - آموزش میکروسرویس Spring Cloud و فریمورک Spring با Rest API، ElasticSearch و RabbitMQ
میکروسرویسها استانداردی رو به رشد در طراحی نرمافزارهای مبتنی بر ابر هستند که امروزه توسط شرکتهای زیادی استفاده میشوند. میکروسرویسها یا معماری میکروسرویس، رویکردی در توسعه نرمافزار و وبسایت است که یک پروژه بزرگ را به چندین بخش کد مستقل تجزیه میکند. هر کد که یک میکروسرویس نامیده میشود، برای انجام یک عملکرد خاص در بسته نرمافزاری کلی توسعه مییابد. میکروسرویسها که توسط تیمهای مجزا طراحی شدهاند، به طور مستقل اجرا میشوند و با سایر میکروسرویسها برای تحقق هدف بزرگتری ترکیب میشوند. به عنوان مثال، یک سایت تجارت الکترونیک شامل عملکردهای مختلفی برای مدیریت موجودی، کاتالوگ محصولات، داده مشتری و اطلاعات صورتحساب است.
معماری میکروسرویس یک رویکرد طراحی نرمافزار است که در آن یک اپلیکیشن به کالکشنی از سرویسهای کوچک، با وابستگی کم و قابل استقرار مستقل تقسیم میشود. هر یک از این سرویسها که به میکروسرویس معروف هستند، بر یک توانمندی یا عملکرد کسب و کار خاص تمرکز میکنند. این میکروسرویسها از طریق APIهای کاملاً تعریفشده با یکدیگر ارتباط برقرار میکنند و به آنها امکان میدهند تا برای ارائه یک تجربه کاربری کامل، هماهنگ کار کنند.
با رویکرد میکروسرویسها در توسعه سایت، آنها به طور جداگانه توسعه و تست میشوند و سپس برای ایجاد وبسایت نهایی ترکیب میگردند. میکروسرویسها با معماری نرمافزاری «یکپارچه» مقایسه میشوند که در آن کل بسته نرمافزاری به صورت یک واحد توسعه مییابد.
میکروسرویسها توسعهدهندگان را قادر میسازند تا اپلیکیشن ها را به مجموعهای از سرویسهای ابری جدا از هم بشکنند و هر قطعه مجزا را کانتینریزه کنند. از طریق این روش طراحی نرمافزار، مهندسان میتوانند تغییرات نرمافزاری ضروری را سریعتر از معماری سیستم استاندارد اعمال کنند.
فریمورک Spring یک فریمورک جامع برای توسعه جاوا است که پشتیبانی زیرساختی، ویژگیهای سطح سازمانی را فراهم میکند و استفاده از بهترین شیوهها در طراحی و معماری نرمافزار را ترویج میدهد. این فریمورک توسط راد جانسون ایجاد و اولین بار در سال 2003 منتشر شد. هدف اصلی فریمورک Spring، سادهسازی توسعه اپلیکیشن های پیچیده سازمانی با ارائه یک فریمورک منسجم، ماژولار و قابل توسعه است.
به یک سفر تحولآفرین به دنیای معماری میکروسرویسها خوش آمدید، یک تغییر پارادایم که چگونگی ساخت و استقرار اپلیکیشن ها را بازتعریف میکند. معماری میکروسرویسها که اغلب به عنوان سنگ بنای توسعه نرمافزار مدرن شناخته میشود، مجموعهای از اصول و شیوهها را ارائه میدهد که اپلیکیشن های یکپارچه را به سرویسهای کوچکتر و مستقل قابل استقرار تجزیه میکند.
در چشمانداز فناوری امروزی که به سرعت در حال تحول است و چابکی، مقیاسپذیری و توسعه سریع در اولویت هستند، معماریهای نرمافزاری یکپارچه سنتی محدودیتهای خود را نشان دادهاند. حال نوبت معماری میکروسرویسها است، رویکردی مدرن برای ساخت اپلیکیشن های نرمافزاری که به دلیل توانایی خود در مقابله با چالشهای ناشی از سیستمهای یکپارچه و توانمندسازی سازمانها برای پیشرفت در عصر دیجیتال، محبوبیت زیادی کسب کرده است.
بیایید مزایا و ملاحظات میکروسرویسها، ابتدا مزایا را بررسی کنیم:
مقیاسپذیری و انعطافپذیری
میکروسرویسها مقیاسپذیری افقی را امکانپذیر میسازند و به شما اجازه میدهند سرویسهای مجزا را بر اساس تقاضا مقیاس دهید. این انعطافپذیری استفاده کارآمد از منابع و پاسخگویی را تضمین میکند.
ماژولار بودن و استقلال
سرویسها به طور مستقل عمل میکنند و ماژولار بودن را ارتقا میدهند. توسعهدهندگان میتوانند روی سرویسها به طور مستقل کار و آنها را مستقر کنند و توسعه موازی را تقویت کرده و وابستگیها را کاهش دهند.
تنوع فناوری
از رویکرد چندزبانه استقبال کنید و پشته فناوری مناسب را برای هر سرویس انتخاب کنید. این انعطافپذیری راهحلهای بهینه را برای نیازهای متنوع کسبوکار امکانپذیر میکند.
ایزولهسازی بهتر خطا
خرابیها را به سرویسهای خاص محدود کنید و از تأثیر خرابی یک سرویس بر کل اپلیکیشن جلوگیری کنید. این امر تابآوری سیستم و تحمل خطا را افزایش میدهد.
در این دوره میکروسرویسها شما یاد خواهید گرفت؛
- نصب اپلیکیشن های ضروری
- DBeaver
- Postman
- Lombok
- معماری میکروسرویس
- معماری یکپارچه
- Spring Cloud Config
- Eureka Server
- Swagger
- Elastic Search
- متد Contains
- ارتباط میکروسرویسها
- OpenFeign
- RabbitMQ و Kafka
- Zipkin
- Spring Cloud Gateway (Api Gateway)
- Resilience4j (Circuit Breaker)
- میکروسرویس سریع
حال با معایب و چالشها ادامه دهیم.
افزایش پیچیدگی در استقرار و مانیتورینگ
میکروسرویسها پیچیدگیهایی را در استقرار، مانیتورینگ و هماهنگسازی ایجاد میکنند. ابزارها و شیوههای مناسب برای مدیریت مؤثر این چالشها ضروری هستند.
هماهنگی بین سرویسها
اطمینان از ارتباط و هماهنگی بینقص بین میکروسرویسها نیازمند طراحی و پیادهسازی دقیق الگوهای ارتباطی است.
مدیریت داده و یکپارچگی
مدیریت یکپارچگی داده و همگامسازی در سراسر میکروسرویسها میتواند چالشبرانگیز باشد و نیاز به طراحی و پیادهسازی مدبرانه دارد.
یکپارچهسازی بینقص با Spring ،Spring Cloud و Docker:
اکنون بیایید بررسی کنیم که چگونه آموزش میکروسرویسهای Spring ما، معماری میکروسرویسها را به طور یکپارچه با فناوریهای پیشرفته ادغام میکند.
تسلط به فریمورک Spring
اصول محکمی در فریمورک Spring کسب کنید، جایی که وارونگی کنترل، تزریق وابستگی و برنامهنویسی جنبهگرا ستون فقرات میکروسرویسهای مقیاسپذیر و قابل نگهداری را تشکیل میدهند.
فناوریهای Spring Cloud
Config Server ،Eureka Server و Api Gateway: از قدرت Spring Cloud برای متمرکز کردن پیکربندی، فعالسازی کشف سرویس و ساخت یک API Gateway قوی برای ارتباط بینقص استفاده کنید.
ردیابی توزیعشده با Zipkin:
Zipkin را برای ردیابی و مانیتورینگ درخواستها در سراسر میکروسرویسها پیادهسازی کنید و بینشهای ارزشمندی در مورد عملکرد سیستم به دست آورید و عیبیابی مؤثر را تسهیل کنید.
پیامرسانی با RabbitMQ
RabbitMQ را برای ارتباط ناهمگام و معماریهای رویدادمحور بررسی کنید و ارتباط قابل اعتماد و جداشده بین میکروسرویسها را تضمین کنید.
تابآوری با Resilience4j:
میکروسرویسها را با Resilience4j تقویت کنید و استراتژیهای تابآوری را برای مدیریت صحیح خرابیها و حفظ یکپارچگی سیستم پیادهسازی کنید.
کانتینرسازی با Docker:
به Docker، یک پلتفرم قدرتمند کانتینرسازی، وارد شوید. یاد بگیرید میکروسرویسهای خود را کانتینریزه کنید و یکپارچگی و قابلیت حمل را در محیطهای متنوع امکانپذیر سازید.
این سفر آموزشی جامع را آغاز کنید و به یک استاد معماری میکروسرویسها با Spring ،Spring Cloud و Docker تبدیل شوید.
همین حالا در این دوره شرکت کنید تا رویکرد خود به توسعه نرمافزار را بازتعریف کنید!
سوالات متداول
میکروسرویسها چیستند؟
میکروسرویسها یا معماری میکروسرویس، رویکردی در توسعه نرمافزار و وبسایت است که یک پروژه بزرگ را به چندین بخش کد مستقل تجزیه میکند. هر کد که یک میکروسرویس نامیده میشود، برای انجام یک عملکرد خاص در بسته نرمافزاری کلی توسعه مییابد. میکروسرویسها که توسط تیمهای مجزا طراحی شدهاند، به طور مستقل اجرا میشوند و با سایر میکروسرویسها برای تحقق هدف بزرگتری ترکیب میشوند. به عنوان مثال، یک سایت تجارت الکترونیک شامل عملکردهای مختلفی برای مدیریت موجودی، کاتالوگ محصولات، دادههای مشتری و اطلاعات صورتحساب است. با رویکرد میکروسرویسها در توسعه سایت، آنها به طور جداگانه توسعه و آزمایش میشوند و سپس برای ایجاد وبسایت نهایی ترکیب میگردند. میکروسرویسها با معماری نرمافزاری «یکپارچه» مقایسه میشوند که در آن کل بسته نرمافزاری به صورت یک واحد توسعه مییابد.
مزایای معماری میکروسرویس چیست؟
در حالی که معماری میکروسرویس نسبت به معماری یکپارچه به برنامهریزی اولیه بیشتری نیاز دارد، مزایای متمایزی در سیستمهای بزرگ ارائه میدهد. معماری میکروسرویس پروژههای نرمافزاری پیچیده را به اجزای کوچکتر تجزیه میکند. از آنجایی که هر میکروسرویس به طور جداگانه توسعه مییابد، این معماری زمانهای توسعه سریعتری را تسهیل میکند زیرا آنها به صورت موازی طراحی میشوند نه متوالی. از آنجایی که هر میکروسرویس مستقل عمل میکند، مهندس میتواند یک میکروسرویس را بدون اینکه تغییرات در سایر میکروسرویسها مشکل ایجاد کند، بروزرسانی نماید. این امر باعث صرفهجویی زیادی در زمان تست و دیباگ در کل پروژه نرمافزاری میشود. در نهایت، معماری میکروسرویس به تیمهای توسعه کمک میکند تا کد کلی را به راحتی درک کنند و نرمافزار را برای نگهداری و استقرار آسانتر میسازد.
چه مشاغلی از میکروسرویسها استفاده میکنند؟
میکروسرویسها عمدتاً توسط توسعهدهندگان نرمافزار، به ویژه توسعهدهندگان فرانتاند، بکاند و فولاستک استفاده میشوند. مهندسان DevOps نیز با میکروسرویسها آشنا میشوند – زیرا شرکتهای فناوری که تیمهای Agile و DevOps را پیادهسازی میکنند، به احتمال زیاد از مزایای میکروسرویسها بهرهمند خواهند شد. در حالی که از معماری میکروسرویس به طور تئوری میتوان برای هر نرمافزاری استفاده کرد، توسعهدهندگان وب معمولاً وبسایتها و اپلیکیشن های مبتنی بر وب پیچیده را با آن میسازند.
برخی از ابزارهای رایج برای پیادهسازی میکروسرویسها کدامند؟
توسعهدهندگان معماری میکروسرویس از زبانها، کتابخانهها و فریمورکهای مختلف مبتنی بر جاوا مانند React ،Node.js، Spring Cloud و Spring Boot استفاده میکنند، زیرا میکروسرویسها به توسعه نرمافزار و اپلیکیشن ها کمک میکنند. علاوه بر این، ارتباط تیمی هنگام پیادهسازی میکروسرویسها حیاتی باقی میماند – به همین دلیل است که تیمهای توسعه از ابزارهایی مانند Apache Kafka و RabbitMQ استفاده میکنند. در نهایت، ابزارهای کانتینرسازی مانند Kubernetes و Docker به توسعهدهندگان در مدیریت عملکرد، بستهبندی و همکاری میکروسرویسهای مجزا کمک میکنند.
Spring Boot چیست و چرا استفاده میشود؟
Java Spring Boot (Spring Boot) ابزاری است که توسعه وب اپلیکیشن و میکروسرویسها را با فریمورک Spring از طریق سه قابلیت اصلی سریعتر و آسانتر میکند: پیکربندی خودکار. یک رویکرد نظرگرا به پیکربندی. توانایی ایجاد اپلیکیشن های کاربردی مستقل
PostgreSQL چیست و چرا استفاده میشود؟
این یک سیستم مدیریت پایگاه داده بسیار پایدار است که توسط بیش از 20 سال توسعه جامعه پشتیبانی میشود و به سطوح بالای تابآوری، یکپارچگی و صحت آن کمک کرده است. PostgreSQL به عنوان ذخیرهگاه داده اصلی یا انبار داده برای بسیاری از اپلیکیشن های وب، موبایل، مکانی و تحلیلی استفاده میشود.
چرا PostgreSQL محبوبتر است؟
PostgreSQL توسط شرکتها انتخاب میشود زیرا انواع دادهای را ارائه میدهد که MySQL ارائه نمیدهد، و همچنین بسیاری از ویژگیهای دیگر که در MySQL ارائه نشدهاند. با این حال، به طور کلی، MySQL معمولاً برای عملکردهای مبتنی بر وب/آنلاین یا نگاشت توصیه میشود، در حالی که PostgreSQL برای فرآیندهای تحلیلی بزرگ توصیه میگردد.
این دوره برای چه کسانی مناسب است؟
- کاربرانی که میخواهند Spring و Spring Boot را یاد بگیرند.
- کاربرانی که میخواهند Spring Rest API را یاد بگیرند.
- هرکسی که میخواهد عملیات پایگاه داده را با Spring روی پایگاههای داده مختلف آسانتر و سریعتر کند.
- هرکسی که میخواهد پروژههایی با معماری میکروسرویس بسازد.
- هرکسی که به دنبال تعمیق درک خود از توسعه بکاند و مدیریت داده است.
- توسعهدهندگان نرمافزاری که میخواهند از آنچه در سطح پایگاه داده میگذرد یا از کدام آبجکت پایگاه داده میتوانند بهرهمند شوند، آگاه باشند.
میکروسرویسها - میکروسرویس Spring Cloud با Rest API
-
مقدمهای بر میکروسرویسها - دوره میکروسرویس Spring Cloud با Rest API 01:26
-
نصب Java 17 روی ویندوز 02:38
-
نصب Eclipse روی ویندوز 06:32
-
نصب Intellij روی ویندوز 03:18
-
مقدمهای بر Docker 02:28
-
نصب PostgreSQL روی Docker 06:13
-
DBeaver 03:32
-
Postman 05:48
-
مقدمهای بر Lombok 10:35
-
مثالهای Lombok 24:17
-
آزمون None
-
معماری یکپارچه 08:19
-
میکروسرویس 08:00
-
وابستگیهای پروژه میکروسرویس در Spring 06:15
-
آزمون None
-
ساختار پروژه میکروسرویس 07:42
-
نصب Mongo روی Docker 04:16
-
پروژه میکروسرویس 10:48
-
اتصال به Mongo DB 07:08
-
اعتبارسنجیها 06:25
-
افزودن کارمندان 09:45
-
Model Mapper 07:40
-
دریافت همه کارمندان 04:09
-
دریافت کارمند با شناسه 04:56
-
بروزرسانی کارمند 05:09
-
حذف کارمند 06:19
-
Spring Cloud Config (سرور پیکربندی) 12:40
-
Eureka Server 13:46
-
Swagger 09:36
-
سرویس تسک و فایل Docker 12:23
-
توسعه سرویس تسک با MySQL 27:00
-
افزودن تسک 07:02
-
دریافت همه تسک ها و صفحهبندی 06:51
-
بروزرسانی و حذف تسک 07:10
-
Elastic Search 11:01
-
افزودن جزئیات تسک به ElasticSearch 07:22
-
دریافت همه و دریافت با شناسه از Elastic Search 03:38
-
بروزرسانی و حذف جزئیات تسک از Elastic Search 06:51
-
متد Contains توضیحات 07:06
-
ارتباط میکروسرویسها 11:26
-
Rest Template 10:00
-
Web Client 06:23
-
OpenFeign 10:01
-
RabbitMQ و Kafka 13:54
-
سرویس نوتیفیکیشن با RabbitMQ 25:47
-
توسعه سرویس نوتیفیکیشن با PostgreSQL 22:59
-
Zipkin 12:20
-
Spring Cloud Gateway (Api Gateway) 11:50
-
Resilience4j (Circuit Breaker) 15:37
-
Admin Server 13:05
-
آزمون None
-
پروژه سریع میکروسرویس 51:56
-
سرور oAuth 15:43
مشخصات آموزش
میکروسرویسها - میکروسرویس Spring Cloud با Rest API
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:همه سطوح
- تعداد درس:53
- مدت زمان :08:37:19
- حجم :3.5GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy