English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гість
1 / ?
назад до уроків

Вузька точка ідентифікована до прибуття трафіку

Бічність централізації

Для кожної пари вузлів в графі існує найкоротший шлях між ними. Бічність централізації вузла N = частка всіх найкоротших шляхів, які проходять через N.

Вузол з високою бічністю знаходиться на шляху між багатьма іншими парами. Якщо він повільно працює, багато потоків повільніють. Якщо він зривається, багато потоків ламаються.

Архітектурне читання: вузли з високою бічністю - це ті, над якими кожна архітектурна перевірка повинна надавати особливу увагу. Це вузькі місця, SPOFs та компоненти з високою ємкістю в одному. Вони мають тенденцію бути:

- Постачальником DNS (між кожним клієнтом та кожним сервісом)

- Вхідним проксі (між кожним клієнтом та кожним заднім плей)

- Основною базою даних (між кожним заднім плей та кожним читанням)

- Сервісом аутентифікації (між кожним користувачем та кожною авторизованою дією)

Виявлення без вимірювання: топологія графа сама по собі ідентифікує вузли з високою бічністю. Ви не需要е трафіку; вам потрібно діаграма архітектури. Вузол, який знаходиться між багатьма парами інших, є структурально критичним.

Оперативний наслідок: вузли з високою бічністю заслуговують на пропорціональне збільшення (1) надлишкової ємкості, (2) надлишкової надійності, (3) спостережності та (4) планів реакції на інциденти.

Система має: 100 зовнішніх клієнтів -> 1 DNS -> 1 постачальник CDN -> 3 зворотні проксі -> 12 задніх екземплярів -> {1 основний база даних, 2 вузли кешу, 5 зовнішніх точок доступу API}. Рейтінґ класів вузлів за бічністю централізації (найвищий спочатку) та поясніть, чому верхні два ранги заслуговують особливої уваги.

Найменший розріз відділяє найменший фрагмент

Мін-різець в простих термінах

Мін-різець між двома вузлами в графі = найменша кількість граней (або вузлів), які потрібно видалити, щоб відділити їх.

Оперативне читання: межа min-cut обмежує кращий випадок радіус вибуху. Якщо min-cut між 'клієнтами' та 'базою даних' становить 1 край (один проксі), то втративши цей край, всі клієнти відключаються від бази даних. Якщо min-cut становить 5, вам потрібно втратити 5 компонентів одночасно, щоб повноцінно відключитися; нещастя, але обмежене.

Проектування радіуса вибуху: збільшуйте min-cut на кожному важливому кордоні. Вільні проксі; вільні кеш-узли; кілька мережних шляхів між DC. Кожне додавання підвищує min-cut на 1.

Паттерн "бульбашка" у графових термінах: розділіть ресурси на окремі підграфи, які не мають min-cut один з одним. Провал всередині одного підграфа не може передаватися до інших, оскільки крани не існують.

Простори діаметра Визначення відстані пропагації провалу

Діаметр графа = найдовша найкоротша дорога між будь-якими двома вузлами.

Пропагація провалу: коли вузол провалюється та повторюваність повертається, вони торкаються верхівок угорі до відстані діаметра. Система діаметра-3 (клієнт -> проксі -> бекенд -> БД) означає, що провал БД впливає на 3 верхні шари у штормі повторювань.

Наступство: коротший діаметр = швидше виявлення та припинення провалу, але також більш концентровані вузли. Кожен дизайн має свою торгівлю.

Min-cut як межа радіусу вибуху; діаметр як відстань пропагації

Обчисліть Min-Cut для реальної архітектури

Архітектура: 1 DNS, 1 CDN, 3 відварту, 12 реплік бекенд, 1 основна БД.

Обчисліть (або оцініть) min-cut на трьох кордонах: (1) між зовнішніми клієнтами та шаром відварту; (2) між шаром відварту та шаром бекенд; (3) між шаром бекенд та основною БД. Для кожного, назвіть, що провалюється, коли цей min-cut перевищується.

Аудит режиму провалу за графовими метриками

Синтез

Тепер ви можете ідентифікувати вузли з високою міжвузловою в'язкістю, обчислювати min-cut на кожному кордоні та оцінювати відстань пропагації провалу за допомогою діаметра.

Застосуйте всі три.

Система: 50 кінцевих пунктів клієнтів -> 1 DNS -> 2 кластери CDN POPs -> 4 відстежуючих проксі -> 16 задніх екземплярів -> { кластер бази даних (1 основний + 2 резервні), кластер Redis (5 вузлів), 3 зовнішніх API }.

Аудит системи: (1) назвіть вузол з найвищою міжвузловою в'язкістю, (2) обчисліть min-cut на найбільш турбувальному кордоні та (3) запропонуйте дві конкретні архітектурні зміни (кожна з яких збільшує min-cut, кожна з яких названа кордоном, який вона посилює).

Додаткові примітки

Додаткові примітки

Ця геометрія-ліярність переробляє основну лекцію Режими провалу та Радіус вибуху через метрики графу (міжність, мінімальне розрізання, діаметр).

Остання доповнення, geometry_of_observability_and_capacity, розглядає Вороніові ячейки для захоплення кластерів CDN PoP, підлогову швидкість світла трикутника latency та криву черги переглянуто на рівні проксі-шару.

Добре зроблено.