این دوره به طور کامل با محتوای با کیفیت بالا از فوریه سال 2023 به روز شده است.
در این دوره آموزشی، ما می خواهیم یاد بگیریم که چگونه معماری میکروسرویس را با استفاده از الگوهای طراحی، اصول و بهترین روش ها با معماری طراحی تکراری از یکپارچه تا میکروسرویس طراحی کنیم. ما از الگوها و تکنیک های مناسب طراحی معماری استفاده خواهیم کرد.
در پایان دوره، یاد میگیرید که چگونه میلیونها درخواست را با طراحی سیستم برای دسترسی بالا، مقیاسپذیری بالا، تأخیر کم و انعطافپذیری در برابر خرابیهای شبکه در معماریهای توزیعشده میکروسرویس رسیدگی کنید.
این دوره، سفر طراحی معماری نرم افزار با معماری در حال تحول گام به گام از یکپارچه به میکروسرویس های رویداد محور خواهد بود.
ما اصول اولیه معماری نرم افزار را با طراحی معماری یکپارچه تجارت الکترونیکی که تعداد کمی از درخواست ها را مدیریت می کند، آغاز خواهیم کرد.
پس از آن گام به گام معماری با؛
تکامل می یابدمعماری لایه ای
معماری پاک
معماری یکپارچه مدولار
میکروسرویس ها
معماریهای میکروسرویسهای رویداد محور
و در آخر معماری Microservices بدون سرور با طراحی با هم که میلیون ها درخواست را مدیریت می کند. این یک فرآیند گام به گام برای طراحی سیستم نرم افزاری است و از یکپارچه به میکروسرویس با پیروی از اصول الگوها تکامل می یابد.
ما در مورد معماری میکروسرویس ها با همه جنبه ها بحث خواهیم کرد،
تجزیه میکروسرویس ها
ارتباطات میکروسرویس (ارتباطات مبتنی بر پیام همگامسازی/همگامسازی، دروازههای API)
مدیریت داده های میکروسرویس ها (پایگاه های داده/پرس و جو/دستورات)
مدیریت تراکنش های میکروسرویس
سرویس های کوچک ذخیره سازی توزیع شده
استقرار خدمات میکرو با کانتینرها و ارکستراتورها
Microservices Resilience
با استفاده از الگوها و شیوه های طراحی میکروسرویس ها.
ما قصد داریم با هم و گام به گام معماریهای Refactor را با تمام جنبههای ستونهای میکروسرویس طراحی کنیم.
ما با طراحی معماری یکپارچه شروع خواهیم کرد. و میبینید که ما نیازمندیهای عملکردی و غیرعملکردی داریم که باید طراحی ما را پوشش دهد و الگوها و جعبه ابزار اصولی داریم که آنها را یاد میگیریم و هنگام تکامل معماریها از این اصول استفاده میکنیم.
روش یادگیری - جریان دوره
ما همیشه با مشکل شروع میکنیم و سعی میکنیم این مشکل را با یادگیری و طراحی معماریها، الگوها و بهترین شیوههای جدید حل کنیم.
مشکل - یادگیری - طراحی - تطبیق - ارزیابی
این دایره را برای هر بخش از دوره تکمیل خواهیم کرد. متوجه خواهید شد که برای رسیدگی به میلیونها درخواست و یادگیری الگوها و روشهای جدیدی که از این اصول در هنگام تکامل معماریها استفاده میکنند، نیازمندیهای جدیدی اضافه خواهیم کرد.
میبینید که برای رسیدگی به میلیونها درخواست و یادگیری الگوها و روشهای جدیدی که از این اصول در هنگام تکامل معماریها استفاده میکنند، نیازمندیهای جدیدی اضافه خواهیم کرد.
خواهیم دید که جعبه ابزار پر از الگوها و اصول در حال بارگیری با الگوهای جدید است و آنها را در طرح های فعلی اعمال می کنیم. ما جدیدترین الگوها را خواهیم دید که از بیش از 30 الگو و روش با پیاده سازی مقیاس پذیری بالا، در دسترس بودن بالا و رسیدگی به میلیون ها درخواست مورد نیاز استفاده می کنیم.
اجازه دهید برخی از الگوهای میکروسرویس را که در این دوره به آنها پرداختیم بنویسم؛
الگوی پایگاه داده به ازای هر سرویس
الگوی دروازه API، الگوی مسیریابی/تجمیع/تخلیه دروازه
Backends برای الگوی Frontends BFF
الگوی جمعآوری خدمات، رجیستری خدمات/الگوی کشف
الگوی پیام رسانی انتشار/اشتراک Fan-out
الگوی موازنه بار با زنجیره موضوع-صف
پایگاه داده مشترک ضد الگو و پایداری چند زبانه
الگوی اشتراک گذاری پایگاه داده، قضیه CAP
الگوی نمای مادی شده
CQRS و الگوهای منبع یابی رویداد
الگوی SAGA - SAGA مبتنی بر رقص/ارکستراسیون
الگوی تراکنش جبرانی
الگوی صندوق خروجی تراکنش
مشکل نوشتن دوگانه
CDC - تغییر ضبط داده با الگوی صندوق خروجی
مرکز رویداد و جریان رویداد در زمان واقعی در معماری میکروسرویسهای رویداد محور
الگوی Cache-Aside برای Microservices Distributed Caching
الگوی ماشین جانبی
الگوی مش سرویس
DevOps و خطوط لوله CI/CD برای استقرار Microservices
استراتژیهای استقرار برای میکروسرویسها: استقرار سبز-آبی، رولینگ و قناری
زیرساخت به عنوان کد (IaC) و استفاده در استقرار خدمات میکرو
الگوهای انعطاف پذیری، مشاهده پذیری و نظارت میکروسرویس ها
سعی مجدد و الگوهای قطع کننده مدار
توده/مهلت زمانی/حافظه پنهان/الگوهای بازگشتی
Elastic Stack for Microservices Reservability with Distributed Logging
بررسیهای سلامت میکروسرویسها: بررسیهای سرزندگی، آمادگی و عملکرد
اجرای معماری میکروسرویسهای بدون سرور در AWS
بنابراین جریان دوره، اطلاعات نظری و عملی خواهد بود؛
ما همیشه با یک مشکل تجاری شروع خواهیم کرد
ما یک الگوی خاص را یاد خواهیم گرفت، چرا و کجا باید از
استفاده کنیمپس از آن، معماری های مرجعی را خواهیم دید که این الگوها را اعمال کرده اند
پس از آن، معماری خود را با استفاده از این الگوی تازه آموخته شده با هم طراحی خواهیم کرد
و در نهایت تصمیم خواهیم گرفت که کدام فناوری می تواند انتخابی برای آن معماری باشد.
و در بخش آخر، ما برای اجرای عملی معماری میکروسرویسها، مرور کد را برای مخزن معماری میکروسرویسهای موجود در GitHub ایجاد میکنیم.
بنابراین این دوره شامل
خواهد بودفعالیتهای طراحی عملی
معماری طراحی تکراری از داخلی به معماریهای بدون سرور Cloud
معماری یکپارچه را به معماریهای میکروسرویسهای رویداد محور تبدیل میکند
طراحی سیستم Refactoring برای رسیدگی به میلیون ها درخواست
بهترین شیوه ها را با الگوها و اصول طراحی میکروسرویس ها اعمال کنید
الگوهای میکروسرویسها را با همه جنبههایی مانند ارتباطات، مدیریت داده، حافظه پنهان و استقرارها بررسی کنید
برای مصاحبه های معماری نرم افزار آماده شوید
برای امتحانات مصاحبه معماری طراحی سیستم آماده شوید.
من به چندین مصاحبه موقعیت معماری شرکت معروف ملحق شده ام، همچنین درگیر فرآیند ارزیابی موقعیت معمار نرم افزار بیش از 50 مصاحبه، الزامات معماری برای موقعیت های صنعت نرم افزار را جمع آوری می کند.
بنابراین با این دوره، تجربه دنیای واقعی در مورد همه موقعیتهای معماری از معماریهای یکپارچه تا میکروسرویسهای رویداد محور به دست خواهید آورد.
این دوره برای مبتدیان آماده شده است اما حداقل باید با اصول معماری نرم افزار آشنا شوید. این دوره اطلاعات تئوری خوبی خواهد داشت اما 90 درصد از فعالیت های طراحی عملی نیز خواهد بود. تمام مراحل معماری دوره به صورت گام به گام و با هم طراحی خواهند شد.
امیدوارم در این سفر به من بپیوندید و این پروژه را با من توسعه دهید.
معمار نرم افزار | میکروسرویس | AWS Community Builder
نمایش نظرات