Кожен 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 з урахуванням піків сусідніх.
Трикутник нерівності, яку неможливо обманувати
Фізика встановлює підлогу
Світло рухається зі швидкістю ~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 мс мінімум. Розтяжене база даних платить за підлогу кожного разу.
Платити за підлогу
Сервіс працює в двох регіонах: US-East (us-east-1) та EU-West (eu-west-1). Відстань між двома регіонами становить приблизно 5,500 км. Сервіс має основну базу даних в US-East. Запити з Європи обробляються в EU-West backends, але кожен запис вимагає повернення до основної бази даних в US-East.
Географічна проектування місткості
Синтез
Тепер ви можете читати Воронієві клітини як PoP-обслуговування, обчислювати нижню межу швидкості світла та застосовувати коло черги на рівні проксі.
Застосуїте всі три.
Команда планує покриття CDN для послуги з користувачами на трьох континентах: Північна Америка (60% користувачів), Європа (30%), Азія (10%). На їхню бюджет припадає 6 PoPs. Кожен PoP може обслуговувати сталу клітину на 70% зайнятості без порушення кола черги.
Завершення Допоміжного Курсу
Завершення Допоміжного Курсу
Ви завершили всі п'ять допоміжних геометричних уроків:
- Проксі та Ісходи: зорієнтовані графи, кількість кроків, вхідний / вихідний фанат, відступлення
- Безстандартова Горизонтальна Масштабування: Закон Літла як площа, коло черги та його лікті
- Розділення Входу та Вихід: двузначна структура, видалення вершини розрізу, толерантність до розділення
- Режими Пошкодження та Зони Впливу: міжнесутьсть централіти, мінімальна переріз, діаметр
- Наблюдуваність та Потужність (цей): Воронієві PoP клітини, нижня межа швидкості світла, географічна дисципліна потужності
Основний напрям: розподілені системи мають геометричну структуру. Кожна архітектура - це граф. Кожна нижня межа швидкості світла - трикутник нерівності. Кожна рішення про потужність - крива та лікті. Коли ви бачите геометрію, оперативні рішення з неї випливають.
Комбінуючи п'ять основних уроків (cs_distsys_*), ви маєте працюючий розумовий модель розподілених систем та графової дисципліни для аргументування його.
Добре зроблено.