Facebook Pixel
Searching...
فارسی
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Architecting for Scale

Architecting for Scale

High Availability for Your Growing Applications
توسط Lee Atchison 2016 230 صفحات
3.55
100+ امتیازها
گوش دادن

نکات کلیدی

1. در دسترس بودن، سنگ بنای برنامه‌های مقیاس‌پذیر است

هیچ‌کس اهمیتی نمی‌دهد که سیستم شما ویژگی‌های عالی دارد اگر نتوانند از آن استفاده کنند.

در دسترس بودن در مقابل قابلیت اطمینان. در دسترس بودن به توانایی یک سیستم برای عملیاتی بودن در زمان نیاز اشاره دارد، در حالی که قابلیت اطمینان به انجام عملیات مورد نظر بدون اشتباه مربوط می‌شود. در دسترس بودن بالا برای برنامه‌های مقیاس‌پذیر حیاتی است، زیرا به‌طور مستقیم بر رضایت مشتری و موفقیت کسب‌وکار تأثیر می‌گذارد.

اندازه‌گیری و بهبود در دسترس بودن. از فرمول: (زمان کل - زمان خرابی) / زمان کل برای محاسبه درصد در دسترس بودن استفاده کنید. بر اساس نیازهای کسب‌وکار خود به دنبال "نُه‌ها" (99.9٪، 99.99٪ و غیره) باشید. برای بهبود در دسترس بودن:

  • با در نظر گرفتن احتمال خرابی بسازید
  • همیشه به مقیاس‌پذیری فکر کنید
  • ریسک‌ها را کاهش دهید
  • در دسترس بودن را نظارت کنید
  • به مسائل به‌طور پیش‌بینی‌شده پاسخ دهید

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

2. مدیریت ریسک برای حفظ در دسترس بودن بالا ضروری است

همه چیز همیشه خراب می‌شود.

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

کاهش مؤثر ریسک‌ها. بر روی:

  • حذف بدترین متخلفان
  • پیاده‌سازی استراتژی‌های کاهش ریسک
  • ایجاد برنامه‌های بازیابی
  • برگزاری "روزهای بازی" برای آزمایش رویه‌های بازیابی تمرکز کنید

تعادل بین ریسک و هزینه. همه ریسک‌ها نیاز به حذف ندارند. هزینه حذف یک ریسک را در برابر تأثیر بالقوه آن در صورت وقوع ارزیابی کنید. از سطوح خدمات برای اولویت‌بندی اجزای حیاتی و تخصیص منابع به‌طور مناسب استفاده کنید.

3. معماری میکروسرویس‌ها مقیاس‌پذیری و نگهداری را بهبود می‌بخشد

یک سرویس یک سیستم مجزا و محصور است که عملکردهای تجاری را برای ساخت یک یا چند محصول بزرگ‌تر ارائه می‌دهد.

مزایای میکروسرویس‌ها:

  • تصمیم‌گیری‌های مقیاس‌پذیر بهبود یافته
  • تمرکز و مالکیت بهتر تیم
  • کاهش پیچیدگی در سطح محلی
  • قابلیت‌های بهبود یافته در آزمایش و استقرار

طراحی میکروسرویس‌ها. هنگام تعریف مرزهای سرویس به موارد زیر توجه کنید:

  • الزامات خاص تجاری
  • مالکیت تیم مجزا
  • داده‌های قابل تفکیک به‌طور طبیعی
  • قابلیت‌ها یا داده‌های مشترک

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

4. مالکیت سرویس و مرزهای واضح قابلیت اطمینان سیستم را بهبود می‌بخشد

یک سرویس باید توسط یک تیم واحد که معمولاً بزرگ‌تر از سه تا هشت توسعه‌دهنده نیست، مالکیت و اداره شود.

معماری سرویس‌های مالکیت تیم واحد (STOSA). STOSA را پیاده‌سازی کنید تا مالکیت و مسئولیت واضحی برای هر سرویس تضمین شود. این رویکرد به تیم‌ها اجازه می‌دهد تا بر روی حوزه‌های تخصصی خود تمرکز کنند و وابستگی‌های بین تیمی را کاهش دهند.

مسئولیت‌های مالک سرویس:

  • طراحی و مدیریت API
  • توسعه و آزمایش سرویس
  • مدیریت داده
  • استقرار و تغییرات تولید
  • نظارت و پاسخ به حوادث
  • مذاکره و مدیریت SLA

توافق‌نامه‌های سطح سرویس (SLAs). از SLAهای داخلی برای مدیریت انتظارات بین سرویس‌ها و تیم‌ها استفاده کنید. این امر اعتماد را ایجاد کرده و به تشخیص مشکلات در سیستم‌های پیچیده کمک می‌کند.

5. بهبود مستمر برای مقیاس‌پذیری برنامه‌ها حیاتی است

بیشتر برنامه‌های مدرن با رشد در نیازهای ترافیکی، در اندازه و پیچیدگی خود برنامه و در تعداد افرادی که بر روی برنامه کار می‌کنند، مواجه هستند.

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

مناطق کلیدی برای بهبود:

  • پیاده‌سازی معماری میکروسرویس‌ها
  • پذیرش مدل مالکیت توزیع‌شده
  • طراحی سرویس‌های بدون حالت در صورت امکان
  • بهینه‌سازی ذخیره‌سازی و دسترسی به داده
  • در نظر گرفتن استراتژی‌های تقسیم داده

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

6. خدمات ابری گزینه‌های زیرساختی انعطاف‌پذیر و مقیاس‌پذیر را ارائه می‌دهند

محاسبات ابری نحوه تفکر ما در مورد ساخت و اجرای برنامه‌هایمان را تغییر داده است.

مزایای خدمات ابری:

  • تخصیص و مقیاس‌پذیری سریع منابع
  • خدمات مدیریت‌شده برای پایگاه‌های داده، کش و بیشتر
  • تمرکز بهبود یافته بر توسعه برنامه
  • گزینه‌های امنیتی و انطباق بهبود یافته

مدل‌های تخصیص منابع ابری:

  • منابع با ظرفیت تخصیص‌یافته (مانند نمونه‌های EC2)
  • منابع مبتنی بر استفاده (مانند ذخیره‌سازی S3)

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

7. مدل‌های محاسبات مقیاس‌پذیر راه‌حل‌های متنوعی برای رشد ارائه می‌دهند

راه‌اندازی، پیکربندی و مدیریت سرورها و استقرار برنامه‌های خود بر روی آن‌ها تنها یکی از راه‌های استقرار برنامه‌های با مقیاس بالا است.

گزینه‌های محاسبات مقیاس‌پذیر:

  1. سرورهای مبتنی بر ابر (مانند EC2)
  2. برش‌های محاسباتی (مانند Heroku Dynos)
  3. کانتینرهای پویا (مانند Docker)
  4. میکروکامپیوتر (مانند AWS Lambda)

انتخاب مدل مناسب. عواملی مانند:

  • معماری و الزامات برنامه
  • سطح مطلوب کنترل و مدیریت
  • نیازهای مقیاس‌پذیری و الگوهای ترافیک
  • ملاحظات هزینه

استفاده از میکروکامپیوتر. فناوری‌هایی مانند AWS Lambda را برای وظایف پردازش مقیاس‌پذیر و مبتنی بر رویداد بررسی کنید. این راه‌حل‌ها مقیاس‌پذیری تقریباً نامحدود با حداقل بار مدیریت ارائه می‌دهند، اما ممکن است در عملکرد و گزینه‌های استقرار محدودیت‌هایی داشته باشند.

آخرین به‌روزرسانی::

نقد و بررسی

3.55 از 5
میانگین از 100+ امتیازات از Goodreads و Amazon.

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

درباره نویسنده

لی آچیسون یک معمار نرم‌افزار با تجربه و نویسنده‌ای با سابقه در محاسبات ابری و سیستم‌های مقیاس‌پذیر است. او برای شرکت‌های معتبری مانند آمازون وب سرویسز (AWS) و نیو رلیک کار کرده و بینش‌های ارزشمندی در زمینه ساخت و مدیریت برنامه‌های بزرگ‌مقیاس کسب کرده است. تخصص آچیسون در نوشته‌هایش مشهود است، جایی که او بر سیستم‌های مبتنی بر خدمات با دسترسی بالا، مدیریت ریسک و استراتژی‌های پذیرش ابر تمرکز دارد. دانش عملی او و درس‌هایی که از سال‌ها فعالیت در صنعت آموخته است، به محتوای کتاب کمک کرده، به ویژه در زمینه‌هایی مانند ارزیابی ریسک، میکروسرویس‌ها و بهترین شیوه‌های محاسبات ابری.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Jan 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →