آموزش اصول موفق معماری مایکروسرویسی

Microservices Architecture - The Design Principles
تعداد ویدئو 41
زمان دوره 02:59:53
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش اصول موفق معماری مایکروسرویسی یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، اصول طراحی موفق مایکروسرویسی است که با نام اصلی Microservices Architecture – The Design Principles از شرکت Pluralsight منتشر شده است.

معماری مایکروسرویسی

معماری مایکروسرویسی یکی از سبک های معماری است که امروزه در ساختن برنامه های Enterprise بسیار مورد استفاده قرار می گیرند. در ساخت اپلیکیشن ها با استفاده از معماری مایکروسرویسی اصول طراحی و یا Design Principle های مختلفی مطرح می شوند که با استفاده از آنها می توانید درصد موفقیت اپلیکیشن توسعه داده شده با این سبک معماری را بهبود ببخشید. بعضی از مهم ترین اصول طراحی اپلیکیشن ها با استفاده از سبک معماری مایکروسرویسی را در قسمت زیر برای شما قرار داده ایم و پس از آن به صورت کوتاه به شرح مهم ترین ها می پردازیم:

  • اصل Single concern
  • اصل Discrete بودن
  • اصل Transportable بودن
  • اصل کار کردن با داده های منحصر بفرد
  • اصل Inherently ephemeral بودن

Microservices-Architecture-The-Design-Principles-Snapshot

اصل Single concern بودن به چه معناست؟

مهم ترین موضوع در رابطه با ایجاد کردن مایکروسرویس های موفق، اصل تک وظیفه ای بودن آنها می باشد. همانطور که مشخص است زمانی که یک مایکروسرویس ایجاد می شود می بایست بسیار کوچک و یا مایکرو باشد. این موضوع به این معناست که یک مایکروسرویس باید فقط یک تک وظیفه را انجام بدهد. برای مثال اگر یک مایکروسرویس به منظور پشتیبانی کردن از روال authentication ایجاد شده است باید تنها وظیفه اش همین authentication باشد. به عبارت دیگر باید این مایکروسرویس یک اینترفیس را در اختیار ما قراار بدهد که فقط دارای access point های مختلف و مرتبط با authentication باشند. تک وظیفه ای بودن یک مایکروسرویس باعث می شود که نگهداری و یا maintenance آن و یا مقیاس پذیری و یا scale کردن آن بسیار ساده تر انجام بشود.

اصل Discrete بودن به چه معناست؟

اساس این اصل این است که یک مایکروسرویس باید مرزهای مشخصی داشته باشد که آن را از مایکروسرویس های دیگر و Environment ای که در آن اجرا می شود تفکیک کند. اصل Discrete بودن به این معنا نیز است که یک مایکروسرویس باید به صورت کامل کپسوله شده و یا اصطلاحاً well-encapsulated باشد. به عبارت دیگر کدها و داده های مربوط به یک مایکروسرویس تک می بایست در درون یک deployment unit و یا واحد استقرار تک قرار گرفته و کپسوله شده باشد. در این رابطه می توانید از لینک آموزش کپسوله کردن کدهای EF Core دیدن کنید. مثال هایی از یک واحد استقرار و یا deployment unit می تواند Linux container ها و یا یک WebAssembly binary و یا حتی یک .NET DLL به حساب بیاید. اصل Discrete بودن یک مایکروسرویس به این معنا نیز هست که یک مایکروسرویس می بایست در repository منحصر بفرد خود در سیستم source control قرار بگیرد و CICD منحصر بفرد خود را نیز داشته باشد در چنین شرایطی یک مایکروسرویس بخشی از یک اپلیکیشن بزرگتر خواهد بود. این موضوع پس از deployment اتفاق می افتد اما از زمان development تا زماان testing و release هر مایکروسرویس به صورت کاملاً ایزوله شده و مجزا عمل خواهد کرد. زمانی که یک مایکروسرویس به صورت discrete طراحی می شود قابلیت انتقال بهتری را نیز دریافت خواهد کرد.

اصل Transportable بودن به چه معناست؟

یک مایکروسرویس قابل انتقال و یا Transportable می تواند از یک Runtime Environment به سادگی به یک Runtime Environment دیگر منتقل بشود. در حال حاضر ساده ترین مکانیزم برای ایجاد کردن یک مایکروسرویس قابل انتقال و یا Transportable استفاده کردن از container image ها می باشد. در این رابطه می توانید از لینک آموزش داکر استفاده کنید. نهایتاً container image ها اغلب در یک image repository قرار می گیرند. این موضوع باعث می شود تا افراد و اپلیکیشن های مختلف بتوانند به سادگی از یک container image استفاده کنند. از آنجایی که یک مایکروسرویس در یک deployment unit کاملاً مجزا و یا discrete قرار گرفته است به سادگی می تواند به یک runtime envirement و یا هر مقصد دیگری انتقال یابد. راهکاری که یک برنامه نویس در انتقال یک مایکروسرویس نیاز دارد که انجام بدهد لحاظ کردن configuration ها و deployment است.

سرفصل مطالب آموزش ویدیویی اصول موفق معماری مایکروسرویسی

فصل اول: مقدمه دوره آموزشی

  • مقدمه

فصل دوم: اصول طراحی Microservice ها

  • مقدمه
  • سرویس چیست؟
  • بررسی اصول Microservice ها
  • طراحی ارتباطات بین Microservice ها
  • بررسی Monolith
  • بررسی Microservice های موفق
  • مقایسه بین Monolith Microservice ها و Microservice ها
  • بررسی اصول طراحی
  • جمع بندی

فصل سوم: بررسی روش اصول طراحی Microservice ها

  • مقدمه
  • بررسی Autonomous
  • بررسی Cohesion دامنه محور
  • بررسی فرهنگ مالکیت
  • بررسی Resilience یا مقاومت
  • بررسی Observability و یا قابل دیده شدن
  • بررسیAutomation و یا خودکارسازی
  • جمع بندی

فصل چهارم: بررسی تکنولوژی های مبتنی بر Microservice ها

  • مقدمه
  • بررسی Load Balancer ها و Service Registry
  • بررسی API Gateway ها و BFF API ها
  • بررسی ارتباطات همگام یا Synchronous Communication
  • سبک API مربوط به Microservice ها
  • بررسی الگوهای مقاومت یا Resiliency
  • بررسی OpenAPI و API Catalogue ها
  • بررسی ارتباطات همگام یا Synchronous Communication
  • مدیر تراکنش های مربوط به تراکنش های توزیع شده منطقی
  • بررسی Eventual Consistency و معماری دامنه محور
  • Deploy کردن با استفاده از ماشین های مجازی
  • Deploy کردن با استفاده از Container ها
  • Deploy کردن با استفاده از فضای Cloud
  • بررسی امنیت
  • بررسی Logging مرکزی
  • بررسی Monitoring مرکزی
  • بررسی الگوها و ابزارهای Automation
  • جمع بندی

فصل پنجم: ادامه دادن و بالغ شدن معماری Microservice ها

  • مقدمه
  • بررسی شرایط Greenfield
  • بررسی شرایط Brownfield
  • بررسی چالش در Microservice
  • جمع بندی

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش اصول موفق معماری مایکروسرویسی”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته های محصولات

افزودن به سبد خرید