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

un

게스트
1 / ?
수업 목록으로

각 PoP은 평면의 셀을 소유합니다

Voronoi tessellation

N개의 점(N: PoP)을 평면에 배치하고, 평면의 모든 점이 가장 가까운 PoP에 할당되는 지역 경계를 그립니다. 결과는 N개의 셀로 평면이 분할되며, 각 셀은 해당 PoP에 더 가까운 다른 PoP보다 더 가까운 모든 점을 포함합니다.

CDN 기하학: 사용자의 각 요청은 가장 가까운 PoP로 라우팅됩니다. 각 PoP는 평면의 지리적 평면의 셀을 서비스합니다. 이웃 PoP 사이의 선의 중점을 따라 셀 경계를 그립니다.

기하학적 읽기:

- PoP를 추가하면 이웃의 셀 크기를 줄입니다(새 셀 생성)

- PoP를 제거하면 해당 셀이 이웃에게 분배됩니다(이웃의 용량 급증)

- 요청 분배가 변경되는 경우 셀 경계 근처의 사용자가 PoP를 바꿔 보기도 합니다

- 하나의 PoP가 실패하면 해당 PoP의 셀이 정지하는 동안 모든 이웃 셀이 확장됩니다

운영적 결과: PoP가 실패하면 부하가 사라지지 않고 이웃 PoP로 마이그레이션합니다. 이웃이 정상 셀만 위해 크기를 할당받으면 급증이 다음 이웃을 부숍니다(cascading PoP failure). 성숙한 CDN 제공업체는 이웃 실패 급증을 고려하여 각 PoP를 크게 할당합니다.

CDN은 대륙 미국을 대상으로 4개의 PoP를 실행합니다: 서부 연안, 산, 미들위스트, 동부 연안. 각 PoP는 총 미국 트래픽의 약 25%를 위한 크기를 가집니다. 산 PoP가 실패합니다. 예측: (1) 분배된 부하를 가장 많이 흡수하는 이웃 PoP는 무엇이며, 그 비율은 대략 무엇이며, (2) 만약 그 이웃들이 각각 25%씩 크게 할당받았고 여유가 없다면 어떤 일이 발생하는가?

거짓말을 할 수 없는 삼각형 부등식

물리학은 바닥을 설정합니다

공기 중에서는 빛이 약 300,000km/s로 이동하며, 섬유 내에서는 약 200,000km/s로 이동합니다(refractive index로 인해). 따라서:

- 섬유 길이 1,000km = 단방향 5ms = 왕복 10ms

- 대서양을 횡단하는 미국 (~5,000 km) = ~50 ms RTT 최소값

- 미국에서 유럽으로 (~8,000 km) = ~80 ms RTT 최소값

- 반대편 (세계를 반 도는 곳) = ~200 ms 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에서 B로의 지연 시간을 부담해야 합니다. A와 B의 거리가 100 ms라면, 쓰기마다 최소 100 ms 이상 지연 시간을 부담해야 합니다. 스트레치된 데이터베이스는 이러한 바닥을 매번 지불합니다.

지연 시간 삼각형: A-B-C는 물리적 거리 oleh에 의해 설정됩니다

바닥을 지불하기

서비스는 두 지역에서 실행됩니다: US-East (us-east-1) 및 EU-West (eu-west-1). 두 지역은 대략 5,500 km 떨어져 있습니다. 서비스는 US-East에 주 데이터베이스를 가집니다. EU 사용자는 EU-West 백엔드에서 요청을 처리하지만, 쓰기마다 US-East 주 데이터베이스로 호출이 필요합니다.

EU 사용자가 브라우저에서 반드시 EU-West 백엔드에서 EU-West 주된 상태로 서비스를 받는 동안 EU 사용자의 쓰기 지연 시간 바닥을 계산하십시오. 그런 다음 EU 사용자의 쓰기 지연 시간 바닥을 줄이기 위한 아키텍처적 변경을 제안하십시오.

지리적 용량 설계

합성

이제 Voronoi 셀을 PoP 수용지로 읽을 수 있고, 광속 지연 바닥을 계산하고, 프록시 계층에서 큐잉 곡선을 적용할 수 있습니다.

모두 세 가지를 적용하십시오.

팀은 사용자가 북아메리카(60%), 유럽(30%), 아시아(10%)에 위치한 서비스의 CDN 커버리지 계획을 수립하고 있습니다. 그들은 6개의 PoP에 예산이 있습니다. 각 PoP는 70%의 안정적인 셀을 제공할 수 있으며, 큐잉 곡선 무릎을 넘지 않습니다.

PoP 배치 설계: (1) 세 개의 대륙에 걸쳐 6개의 PoP를 어떻게 분배할 것인가, (2) 아시아 사용자의 점수가 가장 적은 경우 (아시아 10%)에 대해, 유럽 PoP에서 서비스를 받는 경우 아시아 PoP가 없는 경우 아시아 사용자의 지연 시간 바닥은 얼마인가 (assume ~9000 km 거리), 그리고 (3) 단일-PoP 실패가 없이 연쇄적이지 않게 생존하려면 각 PoP당 필요한 용량 여유를 계산하십시오?

동료 과정 마무리

동료 과정 마무리

당신은 모든 다섯 가지 기하학-* 동료 수업을 완료했습니다:

- 프록시 및 원본: 지시 그래프, 홉 카운트, 팬인 / 팬아웃, 간접성

- 상태리스 수평 확장: 리틀의 법칙으로 영역, 큐잉 곡선 및 그 무릎

- 진입 및 출구 분리: 이중 구조, 자르기 정점 제거, 분할 내구성

- 실패 모드 및 폭파 반경: 사이드 베텐니스 중앙성, 최소 컷, 지름

- 관측 가능성 및 용량 (이것): Voronoi PoP 셀, 지연 삼각형 바닥, 지리적 용량 설계

주제: 분산 시스템은 기하학적 구조를 가지고 있습니다. 모든 아키텍처는 그래프입니다. 모든 지연 바닥은 삼각비가 아닐 수 없습니다. 모든 용량 결정은 곡선과 무릎입니다. 기하학을 보자면, 운영 결정을 추론할 수 있습니다.

5개의 주 수업(cs_distsys_*)와 결합하면 웹 스케일 분산 시스템의 작동 정신 모델과 그래프 이론적 금기를 추론할 수 있습니다.

잘 했어요.