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

un

khách
1 / ?
trở lại bài học

Mỗi PoP Có Một Ô Của Bánh Đề

Phân chia Tessellation Voronoi

Đặt N điểm (PoPs: Điểm có Sự hiện diện) trên một mặt phẳng. Vẽ ranh giới khu vực sao cho mọi điểm trên mặt phẳng được gán cho PoP gần nhất. Kết quả là một sơ đồ Voronoi: mặt phẳng được chia thành N ô, một cho mỗi PoP, mỗi ô chứa tất cả các điểm gần PoP của nó hơn bất kỳ điểm nào khác.

Giối đói CDN: mọi yêu cầu của người dùng được định tuyến đến PoP gần nhất. Mỗi PoP phục vụ một ô của mặt phẳng địa lý. Các ranh giới ô được tạo bởi các đường phân giác vuông giữa các dòng giữa các PoP lân cận.

Đọc Giối:

- Thêm một PoP làm giảm kích thước ô của những người hàng xóm (& tạo một ô mới)

- Xóa một PoP buộc ô của nó phải phân bổ lại cho hàng xóm (sóng tải tại hàng xóm)

- Một người dùng gần ranh giới ô có thể nhảy từ PoP này sang PoP khác khi cân bằng tải thay đổi

- Một PoP bị hư hỏng làm tăng kích thước của mọi ô hàng xóm trong thời gian ngừng hoạt động

Hư hỏng: khi một PoP bị hư hỏng, tải của nó không biến mất; nó di chuyển đến các PoP lân cận. Nếu hàng xóm được thiết kế chỉ cho ô bình thường của họ, sự nỗ lực sẽ làm vỡ chúng tiếp theo (sự cố PoP lan truyền). Các nhà cung cấp CDN trưởng thành thiết kế mỗi PoP với sự nỗ lực của hàng xóm trong tâm.

Các ô Voronoi quanh PoPs; một PoP bị hỏng làm tăng kích thước ô của hàng xóm

Một CDN điều hành 4 PoPs cung cấp cho toàn bộ khu vực Mỹ: Vùng Bờ Tây, Vùng Sườn núi, Vùng Trung Tâm, Vùng Bờ Đông. Mỗi cái được thiết kế cho ~25% tổng lưu lượng giao dịch Mỹ. PoP Sườn núi bị hư hỏng. Dự báo: (1) những PoP lân cận nào hấp thụ lượng tải bị phân bổ lại và trong khoảng tỷ lệ nào, và (2) điều gì sẽ xảy ra nếu những người lân cận này được thiết kế chính xác cho 25% mỗi cái không có không gian dư ra.

Bạn Không Thể Cheát Luật Tam Đới

Vật Lý Đặt Sàn

Ánh sáng di chuyển với tốc độ ~300.000 km/s trong chân không. Trong sợi quang, khoảng ~200.000 km/s do chỉ số tán xạ. Nghĩa là:

- ~1.000 km sợi quang = ~5 ms một chiều = ~10 ms đi và về

- Coast-to-coast US (~5,000 km) = ~50 ms RTT tối thiểu

- Mỹ đến châu Âu (~8,000 km) = ~80 ms RTT tối thiểu

- Đối diện (bán vòng quanh thế giới) = ~200 ms RTT tối thiểu

Đây là một giới hạn. RTT thực tế luôn lớn hơn (cầu đường, chuyển đổi, hàng đợi, nghẽn). Không có ứng dụng có thể nhanh hơn vật lý cho phép.

Luỹ Thức của Tam giác

Cho ba nút A, B, C, quy tắc tam giác luỹ thừa nói rằng d(A,C) <= d(A,B) + d(B,C): một đường thẳng là ngắn hơn (hoặc bằng) so với bất kỳ đường đi gián tiếp nào.

Đọc mạng: nếu dịch vụ của bạn tuyến A -> B -> C thay vì A -> C trực tiếp, thời gian trễ là ít nhất bằng tổng hai leg latencies. Thường là nhiều hơn do xử lý tại B.

Đọc kiến trúc: mỗi bước gián tiếp (proxy, load balancer, CDN hop) ít nhất một leg vòng lặp cho thời gian trễ của người dùng. CDN có lợi thế từ việc làm cho leg của người dùng ngắn hơn (PoP gần hơn so với nguồn gốc), ngay cả khi tổng số bước tăng lên.

Lỗi đa vùng: một dịch vụ đọc từ vùng A nhưng ghi vào vùng B gây thời gian trễ A-to-B trên mỗi lần ghi. Nếu A & B cách nhau 100 ms, mỗi lần ghi mất >= 100 ms tối thiểu. CSDL kéo dài phải trả phí này mỗi lần.

Tam giác thời gian trễ: A-B-C được đặt bởi khoảng cách vật lý

Mua Giỏi

Một dịch vụ hoạt động ở hai khu vực: US-East (us-east-1) & EU-West (eu-west-1). Hai khu vực cách nhau khoảng 5,500 km. Dịch vụ có một cơ sở dữ liệu chính ở US-East. Người dùng EU có yêu cầu của họ được phục vụ bởi backends EU-West, nhưng mỗi lần ghi đều cần gọi lại đến cơ sở dữ liệu chính US-East.

Tính giới hạn thời gian trễ cho một người dùng EU viết (một chiều từ trình duyệt của họ đến backend EU-West & back đến backend chính US-East). So sánh với một người dùng EU đọc được phục hồi hoàn toàn từ EU-West cached state. Sau đó đề xuất một thay đổi kiến trúc giảm giới hạn thời gian trễ viết cho người dùng EU.

Thiết kế địa lý dung lượng

Tích hợp

Bạn có thể đọc các tế bào Voronoi là các khu vực thu nhận PoP, tính giới hạn tốc độ ánh sáng, và áp dụng đường cong hàng đợi tại tầng proxy.

Áp dụng tất cả ba.

Một đội ngũ lên kế hoạch cung cấp CDN cho một dịch vụ có người dùng trên ba châu lục: Bắc Mỹ (60% người dùng), châu Âu (30%), châu Á (10%). Họ có ngân sách cho 6 PoPs. Mỗi PoP có thể phục vụ một tế bào ổn định ở 70% sử dụng mà không vượt qua gối của đường cong hàng đợi.

Thiết kế đặt chỗ PoP: (1) cách phân bổ 6 PoP trên ba châu lục, (2) cho phần trăm người dùng nhỏ nhất (Áo 10%), giới hạn thời gian trễ cho một người dùng Áo được phục vụ từ một PoP châu Âu nếu không có PoP Áo (tính khoảng 9000 km), & (3) yêu cầu mỗi PoP phải có lượng dư dung lượng để sống sót sau một sự cố một-PoP không gây sụp đổ?

Đóng vai khóa Khóa Hỗ trợ

Đóng vai khóa Khóa Hỗ trợ

Bạn đã hoàn thành tất cả năm bài học về hình học của-* đồng hành:

- Proxies & Origins: đồ thị có hướng, số bước, fan-in / fan-out, indirection

- Stateless Horizontal Scaling: Little's Law là khu vực, đường cong hàng đợi & gối của nó

- Ingress & Egress Separation: cấu trúc hai phần, loại bỏ đỉnh, chịu đựng phân li

- Failure Modes & Blast Radius: giữa trung gian, min-cut, đường kính

- Observability & Capacity (bài học này): tế bào PoP Voronoi, giới hạn tốc độ ánh sáng, thiết kế khả năng địa lý

Dòng chính: hệ thống phân tán có cấu trúc hình học. Mỗi kiến ​​trúc là một đồ thị. Mỗi giới hạn tốc độ ánh sáng là một tam giác bất bình đẳng. Mỗi quyết định về khả năng là một đường và một gối. Khi bạn nhìn thấy hình học, các quyết định hoạt động từ nó.

Combined với năm bài học chính (cs_distsys_*), bạn có một mô hình tâm lý về một hệ thống phân tán web quy mô và kỷ luật hình học để lý giải nó.

Làm tốt.