خانه مهندسی نرم افزار گزارش همایش معماری میکروسرویس از افسانه تا واقعیت مهندسی نرم افزار نوشته شده توسط: تیم فنی نیک آموز تاریخ انتشار: ۰۶ شهریور ۱۴۰۱ آخرین بروزرسانی: ۰۵ دی ۱۴۰۲ زمان مطالعه: ۱۶ دقیقه ۴.۷ (۲۶) مقدمه همایش تخصصی معماری میکروسرویس از افسانه تا واقعیت در تاریخ ۳ شهریور ماه ۱۴۰۱ توسط شرکت نیکآموز و با حمایت مجموعه داتین با حضور جمعی از متخصصین و علاقه مندان به این حوزه به دو صورت حضوری و آنلاین در سالن دکتر تورانی دانشگاه الزهرا برگزار شد. معماری میکروسرویس، به دنبال ارائه سرویسهای نرمافزاری مستقلی است که کارکردهای تجاری خاصی را در یک اپلیکیشن ارائه کنند. سرویسهایی که با یکدیگر همکاری دارند، به صورت مستقل از هم نگهداری میکنند و بر کارکرد یکدیگر نظارت دارند. با وجود سابقه استفاده از این معماری، به دلیل آموزش و درک نادرست آن، اشتباهات بزرگی در طراحی پروژههای مبتنی بر میکروسرویس رخ داده است. با توجه به استفاده بسیاری از شرکتها از این معماری، علیرضا ارومند در این همایش به ارائه موضوعاتی نظیر چیستی و چرایی میکروسرویس، آشنایی با 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 تعامل میکنیم و پیچیدگیها و معماری داخلی ما از چشم استفاده کننده پنهان میماند. کشف و ثبت سرویسها (Service Registration and Discovery) Service Registry وظیفه نگهداری آدرسهای مختلف از سرویسهای مختلف را به صورت داینامیک انجام میدهد، زمانی که از الگوی client-side discovery استفاده میکنیم، وظیفه تشخیص محل سرویسها و برقراری توازن در ارسال درخواست به نسخههای مختلف یک سرویس، به عهده کلاینت است. در این روش ابتدا کلاینت یک query روی Service Registry اجرا کرده و لیستی از نمونههای سرویس دلخواه واکشی میکند، سپس با یک الگوریتم توزیع بار، نمونهای از سرویس را انتخاب کرده و درخواست را برای آن ارسال میکند. در این بخش به بررسی Service Registration و Service Discovery سرویس پرداختهایم. الگوهای کار با داده (Data Consistency) در معماری میکروسرویسها هر میکروسرویس دیتابیس و دادههای اختصاصی خود را در اختیار دارد و میتوانند به تنهایی و مستقل از هر سرویس دیگری خدمات خود را ارائه دهند. میکروسرویسهای مختلف میتوانند از DB Engine های متفاوتی نیز استفاده کنند که قابلیتهای ویژهای برای آن سرویس خاص دارند که میتواند موجب بهینه یا ساده شدن انجام کار شود. اما این روش پیاده سازی چالشهایی را در مودر اشتراک و توزیع دادهها ایجاد میکند که توسعه دهندگان باید راهکارهایی برای آنها بیاندیشند. یکی از راهکارهای حل کردن این چالشها استفاده از Eventها در سیستم است که در این مطلب این راهکار را با هم بررسی کردیم. انتشار و نصب (Delivering Microservice) نصب و راه اندازی میکروسرویسها چالشی بزرگ در استفاده از این معماری است که در این مطلب سعی کردیم با برخی از این چالشها و راهکارهای حل مشکلات صحبت کنیم. در این قسمت بررسی کردیم نصب و راه اندازی چندین سرویس روی یک سرور چه مزایا و معایبی دارد و راه حل جایگزین آن یعنی استفاده از VMها و کانتینرها را نیز مختصرا مورد بررسی قرار دادیم. اساسا این مرحله از کار معمولا به عهده توسعه دهندههای نرم افزار نیست و معمولا دوستان زیرساخت این وظیفه را به عهده دارند، اما با توجه به اینکه باید در مورد نحوه انجام کار تصمیم گیری کنیم، سعی شد در این مطلب نکاتی در این رابطه بیان شود. هدیه ویژه شرکت نیکآموز نیکآموز همواره در مورد مسائل روز دغدغهمند بوده و هست، خود را مسئول میداند و همواره تلاش کرده تا در این راه قدم بردارد. نیکآموز خود را پاسدار زمین سبز میداند، و برای تحقق این هدف تصمیم گرفته است به همراهان نیکآموزی خود هدیه ارزشمند بدهد؛ هدیهای به زمین در دل جنگلهای زاگرس این هدیه برای اولین بار به پاس قدرانی از حضور شرکت کنندگان همایش معماری میکروسرویس به این عزیزان تعلق گرفت، ما به نام هر یک از این دوستان درختی در جنگلهای زاگرس در بوستان نیکآموز با شعار #زاگرس_تنها_نیست کاشتهایم و سند آن را تقدیم این عزیزان کردهایم. پـرسش و پاسخ و جمعبندی در انتهای سخنرانی به جمعبندی مباحث آموزشی این همایش پرداخته و همچنین به سوالات شرکتکنندگان به صورت حضوری و آنلاین پاسخ داده شده استخدام در داتین در این همایش با حمایت مجموعه داتین به عنوان اسپانسر ویژه این رویداد این امکان فراهم گردید تا از شرکت کنندگان چه به صورت حضوری و چه به صورت آنلاین در حوزههای مختلف نرمافزاری رزومهای برای استخدام دریافت گردد و همراهان این رویداد را برای شروع مسیر شغلی خود راهنمایی کردند. مشاوره اختصاصی در انتهای همایش پس از استراحت و پذیرایی این امکان برای دوستان فراهم شد تا با علیرضا ارومند در ارتباط با معماری میکروسرویس و چالشهایشان در توسعه نرمافزار با میکروسرویس مشاورهای اختصاصی داشته باشند در این بخش دوستان پیگیر دورههای نیک آموز و پرسش و پاسخ با مشاوران نیکآموز بودند. عکاسی اختصاصی نیکآموز به عنوان پاسدار زمین سبز اقدام به کاشت درختان بلوطی در بوستان نیکآموز در دل جنگلهای زاگرس به نام هر فرد نموده، ما تلاش کردهایم تا با کاشت درخت با شعار #زاگرس_تنها_نیست به حمایت از جنگلها این زیست بوم، تشویق به درختکاری و حفظ زمین سبز بپردازیم. در همایش معماری میکروسرویس همزمان با رونمایی این هدیه ارزشمند از تمامی عزیزانی که به صورت حضوری در این همایش شرکت کرده بودند عکسای اختصاصی با شعار زاگرس تنها نیست انجام گردید و شما دوستان به عنوان یاور همیشگی نیکآموز با اشتراک گذاری این تصاویر ما را در هر آنچه بهتر قدم گذاشتن برای تحقق این خواسته یاری نمایید. به امید زمین سبز و حفظ این زیست بوم گران قدر…. با تشکر از تمامی دوستانی که چه به صورت حضوری و چه به صورت آنلاین در این همایش شرکت کردند. چه رتبه ای میدهید؟ میانگین ۴.۷ / ۵. از مجموع ۲۶ اولین نفر باش معرفی نویسنده مقالات 379 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز معرفی محصول علیرضا ارومند دوره آموزش معماری میکروسرویس 5.190.000 تومان 3.633.000 تومان مقالات مرتبط ۰۷ فروردین مهندسی نرم افزار تفاوت DDD، میکروسرویس (Microservice)، الگوهای طراحی (Design pattern) و معماری تمیز (Clean Architecture) تیم فنی نیک آموز ۰۳ اسفند مهندسی نرم افزار آشنایی با تفاوت Domain Events و Integration Events تیم فنی نیک آموز ۲۶ بهمن مهندسی نرم افزار ۵ راز ساخت سیستم قدرتمند با پیاده سازی معماری میکروسرویس : چالش ها و راه حل ها تیم فنی نیک آموز ۰۵ دی مهندسی نرم افزار راهنمای مسیر شغلی معمار ارشد نرم افزار تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ آرزو رستمی ۲۱ / ۰۵ / ۰۳ - ۰۸:۲۲ چطور می تونم در این همایش شرکت کنم؟ پاسخ به دیدگاه آیدا موسوی ۲۹ / ۰۵ / ۰۳ - ۱۰:۲۹ سلام و عرض ادب ، وقت شما بخیر و شادی لینک تهیه همایش معماری میکروسرویس از افسانه تا واقعیت خدمتتون قرار داده شد . https://nikamooz.com/product/microservice-conf/ پاسخ به دیدگاه تارا کریمی ۲۱ / ۰۱ / ۰۲ - ۰۰:۳۸ جالب بود ۱ پاسخ به دیدگاه مهدیس شوشتری ۱۲ / ۰۱ / ۰۲ - ۰۳:۴۱ سلام کاش از این دست همایش ها باز هم برگزار کنید بسیار عالی آیا دوره ای برای این معماری دارید؟ ۱ پاسخ به دیدگاه مهسا عباسی ۱۵ / ۰۱ / ۰۲ - ۱۱:۴۲ سلام و عرض ادب سپاس از شما شما می توانید فیلم این همایش را از طریق لینک زیر تهیه نمایید. https://nikamooz.com/product/microservice-conf/ پاسخ به دیدگاه اسدی ۲۱ / ۰۷ / ۰۱ - ۰۶:۲۴ سلام چطور می تونم فیلم همایش رو تهیه کنم ؟ پاسخ به دیدگاه مهسا عباسی ۲۴ / ۰۷ / ۰۱ - ۱۱:۲۶ سلام و عرض ادب فیلم این همایش را می توانید از طریق لینک زیر تهیه نمایید. https://nikamooz.com/product/microservice-conf/ ۱ پاسخ به دیدگاه