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

un

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

Кожен PoP має власну клітину на площині

Тессерація Вороного

Нанесіть N точок (PoPs: Points of Presence) на площину. Встановіть межі регіонів так, щоб кожен пункт на площині належав до найближчого PoP. Результат - діаграма Вороного: площина розділяється на N клітин, кожна з яких належить одному PoP і містить всі точки, ближчі до свого PoP, ніж до будь-якого іншого.

Геометрія CDN: кожен запит користувача відправляється до найближчого PoP. Кожен PoP має власне відділення географічної площини. Межі відділення - перпендикулярні bisectors ліній між сусідніми PoPs.

Геометрична читання:

- Додання PoP зменшує клітини сусідніх (та створює нову клітину)

- Вилучення PoP змусить його клітину відредагувати до сусідніх (потужний спурт у сусідніх)

- Користувач на межі клітини може переходити між PoPs у міру зміни навантаження

- Парад PoP збільшує кожну сусідню клітину під час аварії

Оперативний наслідок: коли PoP зійшов з мережі, його навантаження не зникає; воно мігрує до сусідніх PoPs. Якщо сусідні PoPs розміром є лише для їх звичайної клітини, спурт зламає їх наступного (послідовне зникнення PoP). Досвідчені провайдери CDN розмірковують кожен PoP з урахуванням піків сусідніх.

Вороніові клітини навколо PoPs; одна зникнення PoP розширює клітини сусідніх

CDN з 4 PoPs обслуговує континентальну Америку: Західний берег, Гірський, Середній Заходу, Східний. Кожен розрахований на ~25% загальної трафіку США. PoP Mountain зійшов з мережі. Вимовляйте: (1) які сусідні PoPs поглинуть відредаговане навантаження та в приблизно якій пропорції, та (2) що станеться, якщо ті сусіди були розміром exactly 25% без додаткового запасу.

Трикутник нерівності, яку неможливо обманувати

Фізика встановлює підлогу

Світло рухається зі швидкістю ~300,000 км/с у вакуумі. У волокні - приблизно 200,000 км/с через рефрактивний індекс. Це означає:

- ~1,000 км волокна = ~5 ms один шлях = ~10 ms повний цикл

- Coast-to-coast US (~5,000 км) = ~50 мс RTT мінімум

- США до Європи (~8,000 км) = ~80 мс RTT мінімум

- Антиподальний (на половину навколозем) = ~200 мс RTT мінімум

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

Трикутна нерівність

Для трьох вузлів A, B, C трикутна нерівність каже d(A,C) <= d(A,B) + d(B,C): прямий шлях коротший (або рівний) будь-якому кривому шляху.

Сетеве читання: якщо ваш сервіс маршрутизує A -> B -> C замість прямого A -> C, затримка принаймні дорівнює сумі двох віджилкових затримок. Часто більше через обробку в B.

Архітектурне читання: кожне відхилення (проксі, балансувач завантаження, хід CDN) додає принаймні одну кругову затримку для користувача. CDN виграє, роблячи користувацький гак коротшим (PoP ближче до походження), навіть якщо загальна кількість переходів зростає.

Пастки з регіоном: служба, яка читає з регіону A, але записує в регіону B, зазнає затримки A-to-B на кожному записі. Якщо A та B відстанню 100 мс, кожен запис займає >= 100 мс мінімум. Розтяжене база даних платить за підлогу кожного разу.

Трикутник затримки: підлога A-B-C встановлена фізичною відстанню

Платити за підлогу

Сервіс працює в двох регіонах: US-East (us-east-1) та EU-West (eu-west-1). Відстань між двома регіонами становить приблизно 5,500 км. Сервіс має основну базу даних в US-East. Запити з Європи обробляються в EU-West backends, але кожен запис вимагає повернення до основної бази даних в US-East.

Обчисліть затримку підлоги для запису користувача в EU (оберненний круговий шлях від їх браузера до EU-West backend до US-East primary та назад). Порівняйте з затримкою для читання користувача, повністю обслугованого з EU-West cached state. Потім запропонуйте одну архітектурну зміну, яка зменшує затримку підлогу для запису EU користувачів.

Географічна проектування місткості

Синтез

Тепер ви можете читати Воронієві клітини як PoP-обслуговування, обчислювати нижню межу швидкості світла та застосовувати коло черги на рівні проксі.

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

Команда планує покриття CDN для послуги з користувачами на трьох континентах: Північна Америка (60% користувачів), Європа (30%), Азія (10%). На їхню бюджет припадає 6 PoPs. Кожен PoP може обслуговувати сталу клітину на 70% зайнятості без порушення кола черги.

Організуйте розміщення PoP: (1) як бихли розподілив 6 PoPs по трьом континентам, (2) для найменшої частки користувачів (Азія на 10%), якою буде затримка підлоги для користувача з Азії, обслугованого з європейського PoP, якщо не існує PoP в Азії (присмак ~9000 км), та (3) яку місткість резерву для PoP потрібно для переживання одноразової відмови без послідовних?

Завершення Допоміжного Курсу

Завершення Допоміжного Курсу

Ви завершили всі п'ять допоміжних геометричних уроків:

- Проксі та Ісходи: зорієнтовані графи, кількість кроків, вхідний / вихідний фанат, відступлення

- Безстандартова Горизонтальна Масштабування: Закон Літла як площа, коло черги та його лікті

- Розділення Входу та Вихід: двузначна структура, видалення вершини розрізу, толерантність до розділення

- Режими Пошкодження та Зони Впливу: міжнесутьсть централіти, мінімальна переріз, діаметр

- Наблюдуваність та Потужність (цей): Воронієві PoP клітини, нижня межа швидкості світла, географічна дисципліна потужності

Основний напрям: розподілені системи мають геометричну структуру. Кожна архітектура - це граф. Кожна нижня межа швидкості світла - трикутник нерівності. Кожна рішення про потужність - крива та лікті. Коли ви бачите геометрію, оперативні рішення з неї випливають.

Комбінуючи п'ять основних уроків (cs_distsys_*), ви маєте працюючий розумовий модель розподілених систем та графової дисципліни для аргументування його.

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