سیستمهای نرمافزاری مدرن دیگر تکاپلیکیشن نیستند؛ بلکه اکوسیستمی از سرویسها، رویدادها، یکپارچهسازیها و جریانهای کاری توزیعشده هستند. ساخت چنین سیستمهایی بسیار فراتر از نوشتن کد است و نیازمند «تفکر معماری» است.
این دوره طراحی شده است تا به شما بیاموزد سیستمهای توزیعشده واقعی چگونه طراحی میشوند، در حالی که از معماری سرویسگرا (SOA) و معماری رویداد-محور (EDA) به عنوان زیربنا استفاده میکند. ما به جای تمرکز صرف بر تئوری، اصول معماری، الگوها و تصمیمات طراحی را که در سیستمهای مقیاسپذیر مدرن به کار میروند، بررسی خواهیم کرد.
شما یاد میگیرید مانند یک معمار فکر کنید و درک کنید چرا برخی انتخابهای طراحی منجر به موفقیت میشوند و برخی دیگر باعث ایجاد سیستمهای توزیعشده شکننده میگردند.
در طول این دوره، گام به گام از مبانی طراحی سرویس به سمت الگوهای پیشرفتهای حرکت میکنیم که در معماریهای عملیاتی (Production) استفاده میشوند.
در این دوره خواهید آموخت که چگونه:
• مرزهای سرویس و مدلهای مالکیت را به گونهای طراحی کنید که از تبدیل شدن سیستم به یک Monolith توزیعشده جلوگیری شود
• سیستمهایی را بر اساس اصول SOA بسازید که در طول زمان مقیاسپذیر باشند
• درک کنید چه زمانی از ارتباطات همزمان و چه زمانی از سیستمهای رویداد-محور استفاده کنید
• رویدادهای دامنه و رویدادهای یکپارچهساز را به درستی طراحی کنید
• الگوهای معماری رویداد-محور مورد استفاده در سیستمهای واقعی را پیادهسازی کنید
اما این دوره بسیار فراتر از مفاهیم پایه معماری است.
شما همچنین چالشهای دشوار سیستمهای توزیعشده را که در بسیاری از دورهها نادیده گرفته میشوند، بررسی خواهید کرد.
خواهید آموخت که چگونه:
• تضمینهای تحویل پیام، تلاشهای مجدد و سناریوهای شکست را مدیریت کنید
• مصرفکنندگان Idempotent و جریانهای پیامرسانی تابآور طراحی کنید
• از Choreography و Orchestration رویدادها برای مدلسازی فرآیندهای تجاری استفاده کنید
• تکامل Schema و نسخهبندی رویدادها را بدون ایجاد اختلال در مصرفکنندگان مدیریت کنید
• سازگاری نهایی و الگوهای Saga را برای تراکنشهای توزیعشده پیادهسازی کنید
همچنین الگوهای حیاتی قابلیت اطمینان (Reliability) در سیستمهای عملیاتی را پوشش خواهیم داد.
میآموزید:
• چرا نوشتن همزمان در دو جایگاه (Dual Write) سیستم را تخریب میکند و الگوی Outbox چگونه این مشکل را حل میکند
• چگونه سیستمهای قدیمی را با استفاده از لایههای ضد فساد (ACL) و رویکردهای CDC یکپارچه کنید
• چگونه ضد-الگوهای خطرناک معماری را شناسایی کرده و از آنها دوری کنید
علاوه بر این، بخش عملیاتی سیستمهای توزیعشده را بررسی میکنیم که اغلب نادیده گرفته میشود اما حیاتی است.
درک خواهید کرد:
• چگونه سیستمهایی طراحی کنید که قابل مشاهده (Observable) و عیبیابیپذیر باشند
• چگونه جریانهای ناهمزمان را در چندین سرویس ردیابی (Trace) کنید
• چگونه مصرفکنندگان رویداد، Lag و سلامت سیستم را مانیتور کنید
امنیت یکی دیگر از مباحث اصلی این دوره است.
خواهید آموخت که چگونه سیستمهای رویداد-محور امن را طراحی کنید از طریق:
• تعریف مرزهای اعتماد بین سرویسها
• جلوگیری از نشت دادههای حساس در رویدادها
• بهکارگیری الگوی Secure Lookup برای اطلاعات محافظتشده
برای ملموس کردن این مفاهیم، دوره شامل دیاگرامهای کاربردی، تحلیلهای معماری و نمونه کدهای واقعی است که نحوه عملکرد این الگوها را در سیستمهای واقعی نشان میدهد.
در پایان این دوره، شما درک خواهید کرد که معماریهای توزیعشده مدرن واقعاً چگونه کار میکنند و چگونه سیستمهایی طراحی کنید که:
• مقیاسپذیر (Scalable)
• تابآور (Resilient)
• قابل مشاهده (Observable)
• امن (Secure)
• در طول زمان قابل نگهداری (Maintainable) باشند
اگر توسعهدهندهای هستید که میخواهید از نوشتن سرویسهای تکه تکه فراتر رفته و طراحی کل سیستمها را آغاز کنید، این دوره طرز فکر معماری و دانش عملی لازم را در اختیار شما قرار میدهد.
Andrii Piatakha
بنیانگذار و مدیر عامل شرکت IT-Bulls ، بنیانگذار بستر Learn-IT بنیانگذار و مدیر عامل شرکت IT-Bulls. خالق برنامه موبایل Learn-IT برای افرادی که می خواهند آماده مصاحبه و یادگیری جاوا شوند. مدرس با 4+ سال تجربه. مربی کلیدی جاوا در شرکت های برون سپاری. Andrii کمک می کند تا مهندسان نرم افزار جاوا را از صفر تا تعیین تکلیف اول به آنها آموزش دهد. دوره جاوا وی برای آموزش افرادی با دانش برنامه نویسی صفر استفاده می شود تا آنها را برای کار واقعی در شرکت های مختلف آماده کند. هنگامی که دوره های Andrii را می گذرانید می توانید مطمئن باشید که چیزهای درست را در کمترین زمان ممکن به روش صحیح فرا خواهید گرفت. تمام دوره های Andrii توسط داستان و موفقیت دانشجویان ثابت می شود. در گذشته همه مدرسان برنامه نویس حرفه ای نبودند. تجربه مهندسی زیاد به آندری اجازه داد تا شرکت IT خود را اداره کند. در طول تدریس ، آندری توجه دانش آموزان را فقط به مهمترین موارد متمرکز می کند.
نمایش نظرات