معماری برای مقیاس پذیری به زودی به یک هنر گمشده تبدیل خواهد شد. بیشتر معماران مقیاس خودکار را با تجزیه و تحلیل پیشبینیکننده، اشتراکگذاری منابع و باطل کردن حافظه پنهان نادیده میگیرند.
من متوجه الگویی در کارم با معماران ابر جوان و پیر هستم. تکنیکهای معروف مقیاسبندی ابری که سالها پیش مورد استفاده قرار میگرفتند امروزه به ندرت مورد استفاده قرار میگیرند. بله، میدانم چرا، چون سال ۲۰۲۳ است و نه ۱۹۹۳، اما پشت نقرهای معمار ابر هنوز چند ترفند هوشمندانه را میدانند که امروزه مرتبط هستند.
تا همین اواخر، خدمات ابری بیشتری را برای حل مشکلات مقیاسبندی ارائه میکردیم. این رویکرد معمولاً صورتحسابهای ابری را تولید میکند. تاکتیک بهتر این است که به جای تخصیص منابع پس از استقرار خواسته یا ناخواسته و افزایش هزینه ها، زمان با کیفیت بیشتری را برای طراحی و استقرار اولیه اختصاص دهید.
بیایید به روند طراحی سیستمهای ابری که مقیاس میشوند نگاهی بیندازیم و چند ترفند معماری کمتر شناخته شده را بیاموزیم که به سیستمهای رایانش ابری کمک میکند مقیاس کارآمدی داشته باشند.
مقیاس سازی خودکار با تجزیه و تحلیل پیشگو
تحلیلهای پیشبینیکننده میتوانند تقاضای کاربر و مقیاس منابع را برای بهینهسازی استفاده و به حداقل رساندن هزینهها پیشبینی کنند. ابزارهای جدید امروزی همچنین می توانند تجزیه و تحلیل پیشرفته و هوش مصنوعی را به کار گیرند. من نمی بینم که این تاکتیک ها آنقدر که باید اعمال شوند.
مقیاسسازی خودکار با تجزیه و تحلیل پیشبینیکننده، فناوری است که به برنامهها و زیرساختهای مبتنی بر ابر اجازه میدهد تا بر اساس الگوهای تقاضای پیشبینیشده بهطور خودکار افزایش یا کاهش پیدا کنند. مزایای مقیاس خودکار را که به طور خودکار منابع را بر اساس پایش تقاضای فعلی تنظیم میکند، با تجزیه و تحلیل پیشبینیکننده ترکیب میکند که از دادههای تاریخی و مدلهای یادگیری ماشین برای پیشبینی الگوهای تقاضا استفاده میکند.
این ترکیب قدیمی و جدید در حال بازگشت بزرگی است زیرا ابزارهای قدرتمندی برای خودکارسازی فرآیند در دسترس هستند. این رویکرد معماری و فناوری بهویژه برای برنامههایی با الگوهای ترافیکی بسیار متغیر، مانند وبسایتهای تجارت الکترونیک یا سیستمهای ثبت سفارش فروش، که در آنها افزایش ناگهانی ترافیک میتواند باعث مشکلات عملکردی شود، اگر زیرساخت نتواند به اندازه کافی سریع مقیاس شود تا تقاضا را برآورده کند، مفید است. مقیاس خودکار با تجزیه و تحلیل پیشگویانه منجر به تجربه کاربری بهتر و کاهش هزینه ها تنها با استفاده از منابع در صورت نیاز می شود.
اشتراک گذاری منابع
Sharding یک تکنیک موجود توسعه یافته است که شامل تقسیم مجموعه داده های بزرگ به زیرمجموعه های کوچکتر و قابل مدیریت تر به نام خرده است. اشتراک گذاری داده ها یا سایر منابع توانایی آن را در مقیاس گذاری افزایش می دهد.
در این رویکرد، مجموعه بزرگی از منابع، مانند پایگاه داده، ذخیرهسازی یا قدرت پردازش، در چندین گره در ابر عمومی تقسیم میشود و به چندین مشتری اجازه میدهد به طور همزمان به آنها دسترسی داشته باشند. هر خرده به یک گره خاص اختصاص داده می شود و گره ها با هم کار می کنند تا درخواست های مشتری را ارائه دهند.
همانطور که ممکن است حدس بزنید، به اشتراک گذاری منابع می تواند عملکرد و در دسترس بودن را با توزیع بار در چندین سرور ابری بهبود بخشد. این مقدار دادههایی را که هر سرور برای مدیریت نیاز دارد کاهش میدهد و زمان پاسخگویی سریعتر و استفاده بهتر از منابع را ممکن میسازد.
بی اعتباری حافظه پنهان
از زمانی که محاسبات ابری برای اولین بار به یک چیز تبدیل شد، بی اعتبار کردن حافظه پنهان را روی تختههای سفید آموزش دادهام، اما هنوز به خوبی درک نشده است. باطل کردن حافظه نهان شامل حذف «دادههای قدیمی» از حافظه پنهان برای آزاد کردن منابع است، بنابراین میزان دادههایی که باید پردازش شوند کاهش مییابد. سیستم ها می توانند با کاهش زمان و منابع مورد نیاز برای دسترسی به آن داده ها از منبع آن، مقیاس و عملکرد بسیار بهتری داشته باشند.
مانند همه این ترفندها، باید مراقب برخی از عوارض جانبی ناخواسته باشید. به عنوان مثال، اگر داده های اصلی تغییر کند، داده های ذخیره شده قدیمی می شود و ممکن است منجر به نتایج نادرست یا ارائه اطلاعات قدیمی به کاربران شود. باطل کردن حافظه پنهان، اگر به درستی انجام شود، باید این مشکل را با بهروزرسانی یا حذف دادههای ذخیره شده در هنگام تغییر در دادههای اصلی حل کند.
چند راه برای باطل کردن حافظه پنهان عبارتند از: انقضا مبتنی بر زمان، عدم اعتبار مبتنی بر رویداد، و باطل کردن دستی. انقضای مبتنی بر زمان شامل تعیین یک محدودیت زمانی ثابت برای مدت زمانی است که داده ها می توانند در حافظه پنهان باقی بمانند. باطلسازی مبتنی بر رویداد، بر اساس رویدادهای خاص، مانند تغییرات دادههای اصلی یا سایر عوامل خارجی، نامعتبر حافظه پنهان را آغاز میکند. در نهایت، عدم اعتبار دستی شامل بهروزرسانی یا حذف دستی دادههای حافظه پنهان بر اساس عملکرد کاربر یا سیستم است.
هیچ یک از اینها مخفی نیست، اما این نکات اغلب دیگر در دوره های پیشرفته معماری ابر، از جمله دوره های صدور گواهینامه، آموزش داده نمی شوند. این رویکردها بهینه سازی و کارایی کلی بهتری را برای راه حل های مبتنی بر ابر شما ارائه می دهند، اما برای عدم استفاده از آنها جریمه ای وجود ندارد. در واقع، همه این مشکلات را می توان با انداختن پول به سمت آنها حل کرد، که معمولاً جواب می دهد. با این حال، ممکن است ۱۰ برابر بیشتر از یک راه حل بهینه برای شما هزینه داشته باشد که از این یا سایر تکنیک های معماری بهره می برد.
من ترجیح می دهم این کار را به درستی (بهینه شده) در مقابل انجام سریع (بهینه سازی نشده) انجام دهم. کی با منه؟
پست های مرتبط
ترفندهای فراموش شده مقیاس بندی ابر
ترفندهای فراموش شده مقیاس بندی ابر
ترفندهای فراموش شده مقیاس بندی ابر