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을 통과하는 모든 쌍의 비율입니다.

높은 중심성 사이니티를 가진 노드는 다른 쌍 사이에 많은 흐름이 느려지거나 중단되는 이유입니다.

건물 구조 읽기: 높은 중심성 사이니티 노드는 모든 건물 구조 검토에서 특별히 주의를 집중해야 합니다. 그들은 병목, SPOF 및 한 번에 용량이 중요한 구성 요소입니다. 그들은 주로:

- DNS 공급자(모든 클라이언트 및 모든 서비스 사이에 위치)

- 인가 프락시(모든 클라이언트 및 모든 백엔드 사이에 위치)

- 데이터베이스 주-primary(모든 백엔드 및 모든 읽기 사이에 위치)

- 인증 서비스(모든 사용자 및 모든 승인된 작업 사이에 위치)

측정 없이 탐지: 그래프 토폴로지만 높은 중심성 사이니티 노드를 식별할 수 있습니다. 교통 데이터가 필요하지 않습니다. 건물 구조 도표가 필요합니다. 다른 것들 사이에 많은 쌍을 차지하는 노드는 구조적으로 중요한 것으로 간주됩니다.

운영적 결과: 높은 중심성 사이니티 노드는(1) 용량 헤드룸, (2)冗餘, (3) 관측성 및 (4) 인사이던스 응답 플레이북에 대한 비례된 투자 가치가 있습니다.

중심성 사이니티: 하이라이트된 노드는 가장 많은 가장 짧은 경로를 통과합니다

시스템이 다음 노드 클래스 중 하나를 가집니다.: 100 외부 클라이언트 -> 1 DNS -> 1 CDN 공급자 -> 3 역 프락시 -> 12 백엔드 복제본 -> {1 DB 주-primary, 2 캐시 노드, 5 외부 API 엔드포인트}. 이 노드 클래스를 중심성 사이니티(가장 높이부터)로 순위를 매겨, 상위 2위가 특별한 관심을 가질 만한 이유를 설명하십시오.

작은 절단이 가장 작은 조각을 분리합니다

Min-Cut 정리의 평민 용어

그래프의 두 노드 사이의 min-cut = 그들을 분리하기 위해 제거해야 하는 가장 작은 수의 엣지(또는 노드)입니다.

작동 중인 읽기: min-cut가 최악의 경우 폭발 반경을 제한합니다. '클라이언트'와 '데이터베이스' 사이의 min-cut이 1개의 에지(단일 프록시)로 구성되어 있다면, 그 에지를 잃으면 모든 클라이언트가 데이터베이스에서 연결되어 있지 않습니다. min-cut이 5인 경우, 완전히 연결을 끊기 위해 동시에 5개의 구성 요소를 잃어야 합니다; 불행하지만 제한되어 있습니다.

폭발 반경을 설계하는 방법: 중요한 경계마다 min-cut을 높여주세요. 여러 프록시; 여러 캐시 노드; DC 사이의 네트워크 경로의 여러 개. 각 추가는 min-cut을 1씩 높입니다.

그래프 용 Bulkhead 패턴: 자원이 서로 다른 하위 그래프로 분할되어, 서로 다른 min-cut를 공유하지 않도록 합니다. 한 하위 그래프 내에서 실패가 발생하면 다른 것들로 전파되지 않습니다. 왜냐하면 에지가 없기 때문입니다.

지름이 실패 전파 거리를 설정합니다

그래프 지름 = 두 노드 사이의 가장 긴 최단 경로입니다.

실패 전파: 노드가 실패하고 재시작 흐름이 돌아, 지름 거리까지 상류 노드를 건내줍니다. 지름이 3인 시스템(클라이언트 -> 프록시 -> 백엔드 -> DB)은 DB 실패가 3단계 상류 계층에서 재시작 폭풍을 일으킵니다.

의미: 지름이 짧을수록 빠른 실패 격리 but 또한 노드 집중도 빠릅니다. 각 설계는 제한되어 있습니다.

min-cut 폭발 반경; 지름으로 전파 거리

실제 아키텍처에서 Compute Min-Cut

아키텍처: 1 DNS, 1 CDN, 3 역프록시, 12 백엔드 복제본, 1 DB 주

3가지 경계에서 min-cut을 계산(또는 추정)하거나 (1) 외부 클라이언트와 역프록시 계층 사이, (2) 역프록시 계층과 백엔드 계층 사이, (3) 백엔드 계층과 DB 주의 사이의 각각에 대해 실패가 발생할 때 무엇을 명명합니까?

그래프 메트릭을 통해 실패 모드 감사

합성

이제 높은 betweenness 노드를 식별할 수 있으며, 모든 경계에서 min-cut을 계산하고 지름으로 실패 전파 거리를 추정할 수 있습니다.

모두 세 가지를 적용합니다.

시스템: 50 고객 엔드포인트 -> 1 DNS -> 2 CDN POPs -> 4 역Reverse 프록시 -> 16 백엔드 복제본 -> { DB 클러스터 (1 주-primary + 2 standbys), Redis 클러스터 (5 노드), 3 외부 API }.

시스템을 감사하거나 (1) 가장 높은 betweenness 노드를 명명하거나 (2) 가장 걱정되는 경계에서 min-cut을 계산하거나 & (3) 두 가지 구체적인 구조적 변경을 제안하거나 (각각 min-cut을 높이고 강화하는 경계를 명명합니다).

동료 노트

동료 노트

이 기하학-수업은 Failure Modes & Blast Radius 주 수업을 그래프 지표(betweenness, min-cut, diameter)로 재해석한다.

geometry_of_observability_and_capacity라는 마지막 동료는 CDN PoP 포획을 위한 Voronoi 셀, 지연 삼각형의 빛의 지속적인 바닥, 프록시 계층의 큐잉 곡선에 대해 다시 방문한다.

잘 했어요.