محمد اژدری
محمد اژدری
خواندن ۲ دقیقه·۵ سال پیش

سه بال Scalability

به نام خدا

در کتاب Microservices Patterns With Example وقتی میخواهد معماری میکروسرویس را تعریف کند به نقل از کتاب The Art of Scalability میگوید:

تعریف میکروسریس از three-dimensional scalability model (مدل سه بعدی مقیاس پذیری) الهام گرفته شده است.

در اینجا به توضیح سه محور این مکعب میپردازیم:

  • محور xها: معمول ترین روش scale کردن یک نرم‌افزار را بیان میکند. به نحوی که چند نمونه (instance) از app بالا می‌آید و یک لودبالانسر سر راه درخواست ها قرار میگیرد تا آن‌ها را بین instance های مختلف پخش کند.
  • محور z‌ها: در این روش هم مانند روش قبل چند instance بالا می‌آید و یک لودبالانسر وجود دارد. فرقش این است که پخش شدن درخواست ها بر اساس نوعشان است. برای مثال سه سرویس بالا آماده و درخواست ها براساس حرف اول نام کاربری افراد یا عدد یکان ID آنها در دیتابیس و یا چیزهای دیگر بین آنها تقسیم میشوند.

دو روش بالا برای ظرفیت و دردسترس بودن برنامه را بهبود میدهند. اما هیچ یک از این رویکردها مشکل افزایش توسعه و پیچیدگی کاربردها را حل نمی کند. بنابراین سراغ محور y می‌رویم که functional decomposition نام دارد و براساس برنامه را براساس عملکرد قسمت های مختلف scale میکند.

در این نمودار کاملا چگونگی کار مشاهده میشود:

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

معماری نرم‌افزارمهندسی نرم‌افزارscalability
مهندس پایداری سایت در یکتانت
شاید از این پست‌ها خوشتان بیاید