دو مسئله متمایز شبکهسازی
یک کلاستر، که پیشتر در این مجموعه بحث شد، با دو چالش شبکهسازی مرتبط اما متمایز مواجه است: ارتباط کارآمد بین ماشینها درون خود کلاستر، که پیشتر درباره توپولوژیهای شبکه پوشش داده شد، و ارتباط بین کل کلاستر و دنیای بیرون، مانند کاربران نهایی یا مراکز داده دیگر، که این مقاله روی آن تمرکز میکند.
تأخیر در مقابل پهنای باند
دو سنجه جداگانه برای هر اتصال شبکه اهمیت دارند، و یکسان نیستند. Latency تأخیر زمانی پیش از شروع رسیدن یک پیام به مقصدش است، در حالی که Bandwidth نرخ کلی دادهای است که میتواند پس از شروع انتقال منتقل شود. یک اتصال میتواند پهنای باند بالایی داشته باشد اما همچنان از تأخیر بالا رنج ببرد، و برنامهها بسته به اینکه کدامیک از این دو برای بار کاری خاصشان بیشتر اهمیت دارد، متفاوت تحتتأثیر قرار میگیرند.
تأخیر بالا، پهنای باند بالا:
خوب برای انتقال فایلهای بزرگ،
ضعیف برای ارتباط رفتوبرگشتی سریع
تأخیر پایین، پهنای باند پایینتر:
خوب برای درخواستهای تعاملی سریع،
کمتر مناسب برای انتقال داده انبوهچرا این تمایز برای بارهای کاری مختلف اهمیت دارد
یک سرویس وب تعاملی که به درخواستهای کاربر منفرد پاسخ میدهد بهشدت به تأخیر حساس است، چون کاربران حتی تأخیرهای کوچک در زمان پاسخ را متوجه میشوند. یک کار پردازش داده دستهای که مجموعهدادههای عظیمی را بین ماشینها منتقل میکند، بسیار بیشتر به پهنای باند اهمیت میدهد، چون زمان کل جابهجایی داده بر هر تأخیر کوچک هر-پیام غالب است.
اتصال کلاستر به دنیای بیرون
فراتر از توپولوژی شبکه داخلی که پیشتر در این مجموعه بحث شد، یک کلاستر یا مرکز داده به اتصالپذیری خارجی برای رسیدن به کاربران و سیستمهای دیگر نیاز دارد. این معمولاً شامل سختافزار شبکه اختصاصی قادر به مدیریت حجمهای ترافیک تجمعی عظیم است، همراه با برنامهریزی ظرفیت دقیق برای اطمینان از اینکه اتصال به اینترنت گستردهتر به گلوگاه محدودکننده یک شبکه داخلی در غیر این صورت خوبطراحیشده تبدیل نمیشود.
متعادلسازی بار درخواستهای ورودی
وقتی درخواستهای خارجی به یک مرکز داده میرسند، باید بهطور کارآمد بین بسیاری ماشینهای موجود قادر به مدیریت آنها توزیع شوند، وظیفهای که توسط سختافزار یا نرمافزار Load Balancer اختصاصی انجام میشود. این کار اطمینان میدهد هیچ ماشین منفردی با درخواستها مغلوب نمیشود در حالی که دیگران نسبتاً بیکار میمانند، و مستقیماً روی پاسخگویی کلی تجربهشده توسط کاربران خارجی تأثیر میگذارد.
چرا طراحی شبکه دنیای واقعی نیازمند لایهبندی دقیق است
یک سیستم در مقیاس بزرگ خوبطراحیشده، ملاحظات شبکهسازی خودش را با دقت لایهبندی میکند: اتصالات سریع و کمتأخیر درون یک رک از ماشینهای بهشدت جفتشده، اتصالات کمی کندتر بین رکها با استفاده از استراتژیهای توپولوژی که پیشتر در این مجموعه بحث شد، و اتصالپذیری خارجی با دقت تأمینشده به اینترنت گستردهتر، که هر لایه برای الگوهای ارتباطی خاص مورد انتظار در آن سطح تنظیم شده است.
چرا مسیر این فصل اهمیت دارد
از دستورات اتمیک استفادهشده برای همگامسازی رشتهها روی یک تراشه واحد، که خیلی پیشتر در این مجموعه بحث شد، تا زیرساخت شبکهای که یک مرکز داده کامل را به دنیا متصل میکند، این فصل نشان داده است که موازیسازی در هر مقیاسی از محاسبات مدرن عمل میکند، و اینکه همان چالشهای بنیادین — هماهنگی، سربار ارتباطی، و تحملپذیری خطا — در هر سطح دوباره ظاهر میشوند، فقط با مکانیزمهای خاص متفاوتی متناسب با آن مقیاس.