Mỗi PoP Cái này là một tế bào của mặt phẳng
Tế bào Voronoi
Đặt N điểm (PoPs: Điểm có mặt) trên một mặt phẳng. Vẽ ranh giới vùng sao cho mọi điểm trên mặt phẳng được gán cho PoP nhỏ nhất. Kết quả là một hình Voronoi: mặt phẳng phân chia thành N tế bào, một cho mỗi PoP, mỗi tế bào chứa tất cả các điểm gần PoP của nó hơn bất kỳ cái nào khác.
Hình học CDN: mỗi yêu cầu người dùng của bạn được định tuyến đến PoP gần nhất. Mỗi PoP chiếm một tế bào của mặt phẳng địa lý. Các ranh giới tế bào là các đường trung bình chéo của các đường giữa PoP láng giềng kế cận.
Đọc hình học:
- Thêm một PoP làm giảm kích thước tế bào của những người hàng xóm (& tạo ra một tế bào mới)
- Xóa một PoP khiến tế bào của nó phân phối lại cho hàng xóm (sóng tải tăng tại hàng xóm)
- Một người dùng gần ranh giới tế bào có thể lật từ PoP này sang PoP khác khi cân bằng tải dịch chuyển
- Một sự cố của một PoP làm tăng kích thước của mọi tế bào hàng xóm trong thời gian ngừng hoạt động
Quả quyết hoạt động: khi một PoP bị phá huỷ, tải của nó không biến mất; nó di chuyển đến các PoP hàng xóm. Nếu hàng xóm được thiết kế chỉ cho tế bào bình thường, sự tăng sóng phá hủy chúng tiếp theo (sự thất bại PoP dồn dập). Các nhà cung cấp CDN trưởng thành thiết kế mỗi PoP với sự tăng sóng hàng xóm trong tâm trí.
! Các tế bào Voronoi quanh PoPs; một PoP sự cố làm tăng kích thước tế bào hàng xóm
Bạn không thể lừa đảo Luật tam giác không cân xứng
Vật lý đặt sàn nhà
Á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 sắc. Điều này có nghĩa:
- ~1.000 km sợi quang = ~5 ms một chiều = ~10 ms vòng lặp
- 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ểm đối lập (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ác bước đường dẫn, chuyển đổi, xếp hàng, nghẽn mạng). Không có ứng dụng có thể nhanh hơn giới hạn của vật lý.
Định lý Tam giác
Đối với ba nút A, B, C, định lý tam giác 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 cong nào.
Đọc mạng: nếu dịch vụ của bạn định tuyến A -> B -> C thay vì A -> C trực tiếp, thì độ trễ là ít nhất bằng tổng hai độ trễ của đoạn đường. Thường sẽ lâu hơn do xử lý ở B.
Đọc kiến trúc: mỗi bước chuyển đổi (proxy, load balancer, CDN hop) đều tăng ít nhất một bước vòng tròn cho độ trễ mà người dùng cảm nhận. Lợi ích của CDN đến từ việc làm cho bước đường 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 qua lại tăng.
Lưu lượng đa khu vực: một dịch vụ đọc từ khu vực A nhưng ghi vào khu vực B sẽ chịu chi phí độ 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 sẽ mất >= 100 ms tối thiểu. Các cơ sở dữ liệu kéo dài phải trả phí này mỗi lần.
Đóng Góp Phí
Một dịch vụ chạy ở 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 backend EU-West, nhưng mỗi lần ghi cần gọi lại đến cơ sở dữ liệu chính US-East.
Thiết kế Phân bố PoP
Tích hợp
Bạn có thể đọc các tế bào Voronoi là vùng thu thập của PoP, tính giới hạn trễ tốc độ ánh sáng, và áp dụng đường cong hàng đợi ở tầng proxy.
Áp dụng cả ba.
Một đội ngũ lên kế hoạch bao phủ 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), Âu (30%), Á (10%). Họ có ngân sách cho 6 PoP. Mỗi PoP có thể phục vụ một tế bào ổn định ở 70% sử dụng không vượt qua gối đầu của đường cong hàng đợi.
Đóng Companion Course
Đóng Companion Course
Bạn đã hoàn thành tất cả năm bài học về hình học-* phụ trợ:
- Proxies & Origins: đồ thị có hướng, bước nhảy, fan-in / fan-out, gián tiếp hóa
- Stateless Horizontal Scaling: Luật Little như diện tích, đường cong hàng đợi & gối đầu của nó
- Ingress & Egress Separation: cấu trúc hai phần, loại bỏ nút cắt, chịu đựng được phân chia
- Failure Modes & Blast Radius: giữa tính trọng tâm, min-cut, đường kính
- Observability & Capacity (bài học này): tế bào PoP Voronoi, giới hạn tam giác trễ, thiết kế khả năng địa lý
Sự liên tục: 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 trễ là một bất đẳng thức tam giác. Mỗi quyết định khả năng là một đường cong và một gối đầu. Khi bạn nhìn thấy hình học, các quyết định vận hành sẽ tuân theo nó.
Khi kết hợp với năm bài học chính (cs_distsys_*), bạn có một mô hình tâm lý làm việc về hệ thống phân tán web và kỷ luật hình học để lý luận về nó.
Làm tốt vậy.