View in Telegram
معماری Modular Monolith چیه و چه کاربردی داره؟ 🦦 اخیرا معماری modular monolith توجه خیلی از متخصصان رو به خودش جلب کرده، چرا که گوگل چارچوب «Service Weaver» رو پیشنهاد میکنه تا دولوپر ها رو قادر میسازه تا برنامه‌ها رو به صورت modular monolith بنویسن و اونها رو به عنوان مجموعه‌ای از ریزسرویس‌ها به کار بگیرن. گوگل اون رو چارچوبی در نظر گرفت که بهترین های هر دو دنیا رو داره و به نظر میرسه یک روند در معماری نرم افزار باشه. اما ‏Modular Monolith چی هست؟ تو یک دهه اخیر شرکت های زیادی مثل آمازون، نتفلیکس و...، از میکروسرویس ها برای توسعه اپلیکیشن های خودشون استفاده کردن. اما با این حال، چندین شرکت مزایای مورد انتظار رو از مهاجرت به میکروسرویس ها به دست نیاوردن و به دلیل مسائلی مثل هزینه بالا و پیچیدگی میکروسرویس ها، با مشکل مواجه شدن. همین مشکلات باعث توجه متخصصان به مفهوم "Modular Monolith" شد. گوگل چارچوب "Service Weaver" رو پیشنهاد کرد تا دولوپر ها رو قادر بسازه برنامه ها رو به صورت یکپارچه مدولار بنویسن و اون ها رو به عنوان مجموعه ای از ریزسرویس ها به کار بگیرن. گوگل در این رابطه به این شکل توضیح میده که این چارچوبی هست، که بهترین های هر دو جهان توسعه نرم افزار رو داره: 1 - سرعت توسعه یکپارچه، با مقیاس‌پذیری 2 - امنیت و fault-tolerance در میکروسرویس ها ‏monoliths های سنتی اغلب بر روی لایه ها تمرکز میکنن و اغلب شامل سه لایه هستن: UI، Business و Data. اما تفاوت اون با monolithic system چیست؟ 🤔 تفاوت اون با یک monolithic system در این هست که سیستم رو به ماژول های جداگانه تقسیم میکنه و تیم ها، مستقل میتونن روی هر ماژول کار کنن تا زمان توسعه محصول رو کاهش بدن و انعطاف پذیری و درک بیشتری داشته باشن. پیشنهاد modular monolith از سمت گوگل هیجان‌انگیز هست و شباهت‌هایی با traditional monolith و modularization mechanism که در گذشته بود داره و بنظر ترکیبی از هر دو هست. به صورت کلی نتایج نشان میده که Modular Monolith یک الگوی معماری نرم‌افزاری هست که مزایای monolith رو با معماری میکروسرویس ترکیب میکنه. در این معماری، سیستم‌ها به صورت ماژول‌های جفت‌شده آزاد سازمان‌دهی میشن که هر کدام مرزهای کاملاً تعریف شده و وابستگی‌های صریح به ماژول‌های دیگر رو مشخص میکنن. به خصوص تفاوت اون با modularization که قبلا گفته شد، در اینه که در صورت تمایل اون رو میشه جابجا کرد یا بعداً به عنوان میکروسرویس مستقر کرد. #architecture @CodeModule
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily