گزارش همایش معماری میکروسرویس از افسانه تا واقعیت

گزارش همایش معماری میکروسرویس از افسانه تا واقعیت

نوشته شده توسط: تیم فنی نیک آموز
۰۶ شهریور ۱۴۰۱
زمان مطالعه: ۱۶ دقیقه
۴.۷
(۲۵)

مقدمه

همایش تخصصی معماری میکروسرویس از افسانه تا واقعیت در تاریخ ۳ شهریور ماه ۱۴۰۱ توسط شرکت نیک‌آموز و با حمایت مجموعه داتین با حضور جمعی از متخصصین و علاقه مندان به این حوزه به دو صورت حضوری و آنلاین در سالن دکتر تورانی دانشگاه الزهرا برگزار شد.

معماری میکروسرویس، به دنبال ارائه سرویس‌های نرم‌افزاری مستقلی است که کارکردهای تجاری خاصی را در یک اپلیکیشن ارائه کنند. سرویس‌هایی که با یکدیگر همکاری دارند، به صورت مستقل از هم نگهداری می‌کنند و بر کارکرد یکدیگر نظارت دارند. با وجود سابقه استفاده از این معماری، به دلیل آموزش و درک نادرست آن، اشتباهات بزرگی در طراحی پروژه‌های مبتنی بر میکروسرویس رخ داده است.

با توجه به استفاده بسیاری از شرکت‌ها از این معماری، علیرضا ارومند در این همایش به ارائه موضوعاتی نظیر چیستی و چرایی میکروسرویس، آشنایی با Service Discovery، API Gateway و نقش آن در توسعه میکروسرویس‌ها، مدیریت داده و شرایط توزیع‌شده داده و نحوه استقرار نرم‌افزار پرداخته است.

بررسی بخش‌های مختلف همایش

نیک‌آموز در همایش معماری میکروسرویس برای اولین بار از بسته‌های جدید خود رونمایی کرد و هدیه ویژه‌ای را تقدیم شرکت کنندگان حضوری این همایش کرد..

 

همایش با پخش آیاتی از قرآن و سرود ملی کشور عزیزمان ایران آغاز گردید و به صورت آنلاین و پخش زنده نیز همزمان برای شرکت کنندگان آنلاین نیز پخش گردید.

همایش معماری میکروسرویس از افسانه تا واقعیت
همایش معماری میکروسرویس از افسانه تا واقعیت

این همایش به صورت رسمی با سخنرانی و تدریس علیرضا ارومند « مدیر محصول راهکارهای بیمه‌گری مدرن داتین و همچنین مدرس دوره‌های ASP.NET  و مهندسی نرم‌افزار شرکت نیک‌آموز » آغاز گردید.

همایش معماری میکروسرویس از افسانه تا واقعیت

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

در بخش نخست به بررسی میکرسرویس‌ها برای بررسی توسعه اپلیکشن‌ها، مزایا و محاسن و چالش های میکروسرویس پرداخته شده است.  معماری میکروسرویس بیش از اینکه یک مبحث صرفا فنی و ابزاری باشد یک مدل فکری برای طراحی و توسعه است که شما را در مسیر درست هدایت می‌کند. هرچه شما دانش عمیق‌تری نسبت به این مدل داشته باشید اثربخشی خروجی توسعه ملموس‌تر و موفق‌تر خواهد بود. از معماری میکروسرویس‌ها در کارهای بزرگ و پیچیده استفاده می‌شود،که درآن چندین گروه به طور مستقل با هم‌کاری یکدیگر کار می‌کنند و به صورت تجاری یا در یک حوزه‌ی تجاری به ارائه‌ی خدمات مشغول می‌باشند.

میکروسرویس چیست
چالش های میکروسرویس

آشــنایی با Monolithها

در دنیای امروز نرم‌افزارهای تجاری طوری طراحی می شوند تا بتوانند بسیاری از نیازمندی‌های تجاری سازمان‌های مختلف را پاسخگو باشند. به عبارت دیگر؛ یک سیستم نرم افزاری ممکن است صدها قابلیت تجاری را در خود جای داده باشد و تمامی این قابلیت‌ها در یک برنامه تک قرار گرفته باشند. بطور معمول به چنین برنامه‌ها و نرم افزارهایی که تعداد بسیاری از قابلیت ها را در خود جای داده‌اند اصطلاحاً نرم‌افزارهای monolithic می‌گوییم. ما در این بخش به بررسی این معماری معایب و محاسن آن پرداختیم، ویژگی‌های در معماری monolithic، که ما را به سمت معماری میکروسرویس می‌برد

مزایای مونولیتیک
همایش معماری میکروسرویس از افسانه تا واقعیت

مرزبندی سرویس‌ها Service Boundaries

معماری میکروسرویس به تیم‌ها و سازمان‌های نرم‌افزاری این امکان را می‌دهد که بهره‌وری بالاتری داشته باشند و محصولات موفق‌تری بسازند. هم‌چنین میکروسرویس‌ها معماری مناسبی برای سیستم‌های ابری هستند‌. ما محدوده و مرزبندی Boundaries سرویس‌های نرم افزار را براساس محدوده و Boundaryهای بیزینسی بنا می‌کنیم و این باعث می‌شود کدهای ما براساس نیازمندها و فانکشن‌های بیزینس تعریف شده و مشخص باشند و با تمرکز هر سرویس روی مرزبندی مشخصاین وسوسه بزرگتر شدن سرویس و متعاقبلا مشکلات بعدی آن را از بین می‌برد.

در این بخش به بررسی موارد زیر پرداخته شده

  • آشنایی با DDD
  • معرفی Bounded Context
  • آشنایی با انواع سـرویس‌ها
همایش معماری میکروسرویس از افسانه تا واقعیت

ارتباطات با سرویس‌ها

پیش از طراحی و پیاده سازی IPC بهتر است در مورد چگونگی برقراری ارتباط بین سرویس‌ها کمی تامل کنیم. انواع مختلفی از روش‌های مختلف تعامل بین سرویس‌ها و کلاینت‌ها وجود دارد. چگونگی برقراری ارتباط بین سرویس‌ها مختلف از دو جنبه مختلف و کلی قابل بررسی است.

در این بخش به معرفی انواع روش‌های ارتباطی پرداختیم و به بررسی، برقراری ارتباط به شکل  Sync و  Asyn را بررسی کردیم، و به بیان چند مثال کاربردی در این حوزه پرداختیم.

  • ارتباط sync: کلاینت در یک بازه زمانی خاص توقع دریافت پاسخ از سرویس‌دهنده را دارد و معمولا در این بازه زمانی معطل می‌ماند.
  • ارتباط async: تفاوتی نمی‌کند که پردازش درخواست پاسخی در برخواهد داشت یا خیر. در هر صورت کلاینت در انتظار درخواست نخواهد ماند و به کار خود ادامه خواهد داد و پاسخ بعدا به صورت async داده خواهد شد.

همایش معماری میکروسرویس از افسانه تا واقعیت
همایش معماری میکروسرویس از افسانه تا واقعیت

دسترسی مرکزی به APIها (API Gateway)

در معماری میکروسرویس‌ها، هر میکروسرویس دارای مجموعه‌ای از نقاط پایانی است که آن‌ها را در معرض نمایش قرار می‌دهد. این امر می‌تواند بر روی ارتباط مشتریان با نرم‌افزار تأثیرگذار باشد. شما می‌توانید به کمک پیاده سازی api gateway بر چنین مشکلاتی غلبه کرده و به یک برنامه یکپارچه و با رابط کاربری مناسب دست پیدا کنید. در این روش تنها نقطه ورود برنامه ما یک Gateway است و راه ارتباطی Clientها با microserviceها همین Gateway است. در صورتی که با الگوی facade آشنایی داشته باشید API Gateway عملکردی شبیه به این الگو دارد. در این الگو به جای اینکه برای انجام یک کار با چندین API مختلف تعامل کنیم به سادگی با یک API تعامل می‌کنیم و پیچیدگی‌ها و معماری داخلی ما از چشم استفاده کننده پنهان می‌ماند.

چرا API Gateway
همایش معماری میکروسرویس از افسانه تا واقعیت

کشف و ثبت سرویس‌ها (Service Registration and Discovery)

Service Registry وظیفه نگهداری آدرس‌های مختلف از سرویس‌های مختلف را به صورت داینامیک انجام می‌دهد، زمانی که از الگوی client-side discovery استفاده می‌کنیم، وظیفه تشخیص محل سرویس‌ها و برقراری توازن در ارسال درخواست به نسخه‌های مختلف یک سرویس، به عهده کلاینت است. در این روش ابتدا کلاینت یک query روی Service Registry اجرا کرده و لیستی از نمونه‌های سرویس دلخواه واکشی می‌کند، سپس با یک الگوریتم توزیع بار، نمونه‌ای از سرویس را انتخاب کرده و درخواست را برای آن ارسال می‌کند. در این بخش به بررسی Service Registration و Service Discovery سرویس پرداخته‌ایم.

همایش معماری میکروسرویس از افسانه تا واقعیت

الگوهای کار با داده (Data Consistency)

در معماری میکروسرویس‌ها هر میکروسرویس دیتابیس و داده‌های اختصاصی خود را در اختیار دارد و می‌توانند به تنهایی و مستقل از هر سرویس‌ دیگری خدمات خود را ارائه دهند. میکروسرویس‌های مختلف می‌توانند از DB Engine های متفاوتی نیز استفاده کنند که قابلیت‌های ویژه‌ای برای آن سرویس خاص دارند که می‌تواند موجب بهینه یا ساده شدن انجام کار شود. اما این روش پیاده سازی چالش‌هایی را در مودر اشتراک و توزیع داده‌ها ایجاد می‌کند که توسعه دهندگان باید راهکار‌هایی برای آن‌ها بیاندیشند. یکی از راهکار‌های حل کردن این چالش‌ها استفاده از Eventها در سیستم است که در این مطلب این راهکار را با هم بررسی کردیم.

الگوهای کار با داده (Data Consistency)
همایش معماری میکروسرویس از افسانه تا واقعیت

انتشار و نصب (Delivering Microservice)

نصب و راه اندازی میکروسرویس‌ها چالشی بزرگ در استفاده از این معماری است که در این مطلب سعی کردیم با برخی از این چالش‌ها و راهکارهای حل مشکلات صحبت کنیم. در این قسمت بررسی کردیم نصب و راه اندازی چندین سرویس روی یک سرور چه مزایا و معایبی دارد و راه حل جایگزین آن یعنی استفاده از VMها و کانتینر‌ها را نیز مختصرا مورد بررسی قرار دادیم. اساسا این مرحله از کار معمولا به عهده توسعه دهنده‌های نرم افزار نیست و معمولا دوستان زیرساخت این وظیفه را به عهده دارند، اما با توجه به اینکه باید در مورد نحوه انجام کار تصمیم گیری کنیم، سعی شد در این مطلب نکاتی در این رابطه بیان شود.

همایش معماری میکروسرویس از افسانه تا واقعیت
همایش معماری میکروسرویس از افسانه تا واقعیت

هدیه ویژه شرکت نیک‌آموز

نیک‌آموز همواره در مورد مسائل روز دغدغه‌مند بوده و هست، خود را مسئول می‌داند و همواره تلاش کرده تا در این راه قدم بردارد. نیک‌آموز خود را پاسدار زمین سبز می‌داند، و برای تحقق این هدف تصمیم گرفته است به همراهان نیک‌آموزی خود هدیه ارزشمند بدهد؛ هدیه‌ای به زمین در دل جنگل‌های زاگرس

این هدیه برای اولین بار به پاس قدرانی از حضور شرکت کنندگان همایش معماری میکروسرویس به این عزیزان تعلق گرفت، ما به نام هر یک از این دوستان درختی در جنگل‌های زاگرس در بوستان نیک‌آموز با شعار #زاگرس_تنها_نیست کاشته‌ایم و سند آن را تقدیم این عزیزان کرده‌ایم.

همایش معماری میکروسرویس از افسانه تا واقعیت
همایش معماری میکروسرویس از افسانه تا واقعیت

پـرسش و پاسخ و جمع‌بندی

در انتهای سخنرانی به جمع‌بندی مباحث آموزشی این همایش پرداخته و همچنین به سوالات شرکت‌کنندگان به صورت حضوری و آنلاین پاسخ داده شده

همایش معماری میکروسرویس از افسانه تا واقعیت

استخدام در داتین 

در این همایش با حمایت مجموعه داتین به عنوان اسپانسر ویژه این رویداد این امکان فراهم گردید تا از شرکت کنندگان چه به صورت حضوری و چه به صورت آنلاین در حوزه‌های مختلف نرم‌افزاری رزومه‌ای برای استخدام دریافت گردد و همراهان این رویداد را برای شروع مسیر شغلی خود راهنمایی کردند.

استخدام در داتین
استخدام در داتین

مشاوره اختصاصی 

در انتهای همایش پس از استراحت و پذیرایی این امکان برای دوستان فراهم شد تا با علیرضا ارومند در ارتباط با معماری میکروسرویس و چالش‌هایشان در توسعه نرم‌افزار با میکروسرویس‌ مشاوره‌ای اختصاصی داشته باشند در این بخش دوستان پیگیر دوره‌های نیک آموز و پرسش و پاسخ با مشاوران نیک‌آموز بودند.

همایش معماری میکروسرویس از افسانه تا واقعیت
همایش معماری میکروسرویس از افسانه تا واقعیت

عکاسی اختصاصی

نیک‌آموز به عنوان پاسدار زمین سبز اقدام به کاشت درختان بلوطی در بوستان نیک‌آموز در دل جنگل‌های زاگرس به نام هر فرد نموده، ما تلاش کرده‌ایم تا با کاشت درخت با شعار #زاگرس_تنها_نیست به حمایت از جنگل‌ها این زیست بوم،  تشویق به درخت‌کاری و حفظ زمین سبز بپردازیم.

 

در همایش معماری میکروسرویس همزمان با رونمایی این هدیه ارزشمند از تمامی عزیزانی که به صورت حضوری در این همایش شرکت کرده بودند عکسای اختصاصی با شعار زاگرس تنها نیست انجام گردید و  شما دوستان به عنوان یاور همیشگی نیک‌آموز با اشتراک گذاری این تصاویر ما را در هر آنچه بهتر قدم گذاشتن برای تحقق این خواسته یاری نمایید. به امید زمین سبز و حفظ این زیست بوم گران قدر….

همایش معماری میکروسرویس از افسانه تا واقعیت
همایش معماری میکروسرویس از افسانه تا واقعیت

با تشکر از تمامی دوستانی که چه به صورت حضوری و چه به صورت آنلاین در این همایش شرکت کردند.

چه رتبه ای می‌دهید؟

میانگین ۴.۷ / ۵. از مجموع ۲۵

اولین نفر باش

title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
248 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

دانلود کتاب معماری میکروسرویس

همین الان نام و ایمیل را وارد کنید، کمتر از 30 ثانیه دانلود کنید.
دانلود رایگان کتاب میکروسرویس (PDF)
close-link
جشنواره عیدآموز نیک آموز، سال جدید رو با قدرت شروع کن
مشاهده تخفیف ها
close-image