Làm thế nào các trang web lớn mở rộng quy mô và tối ưu hóa lưu lượng truy cập lớn? [đóng cửa]


8

Làm thế nào để các trang web như Facebook và Twitter tối ưu hóa trang web của họ cho lưu lượng truy cập lớn. Ngoài việc chi nhiều tiền cho việc có được các máy chủ tốt nhất, những gì có thể được tối ưu hóa trong mã của bạn để đáp ứng lưu lượng lớn?

Tôi đã đọc về việc lưu các trang của bạn vào HTML tĩnh, nhưng điều đó không thực tế đối với các trang mạng xã hội nơi các trang được cập nhật liên tục.


Nếu bạn nhận được 10000 truy cập mỗi giây trung bình, thậm chí bộ nhớ đệm 1 giây sẽ giúp bạn tiết kiệm 9999 xử lý tập lệnh.

Bạn có thể quan tâm đến việc này quá (Tôi không thể tìm thấy các bài bản gốc do chủ SO): highscalability.com/blog/2009/8/5/...

Dưới đây là video và bài thuyết trình mô tả một số nội dung mà các kỹ sư tại facebook đã làm để nhân rộng.
aufather

Câu trả lời:


14

Facebook là một ví dụ đặc biệt về tải, nhưng nói chung, các trang web có lưu lượng truy cập cao:

  1. sử dụng mạng phân phối nội dung (CDN) để phân phối tài sản tĩnh (CSS và JavaScript) và phương tiện (hình ảnh, video, v.v.).
  2. sử dụng bộ nhớ cache trong bộ nhớ như Memcached bất cứ khi nào có thể để giảm tải cho cơ sở dữ liệu.
  3. có bộ cân bằng tải phân phối lưu lượng truy cập đến nhóm máy chủ web
  4. bộ nhớ cache đã tạo các đoạn HTML (ví dụ: các phần của trang hồ sơ của bạn) và bao gồm chúng khi tạo phản hồi đầy đủ

1
+1 Không thể nói điều đó tốt hơn bản thân mình. Đối với mạng CDN, tôi có thể bảo đảm cho Amazon S3 + Cloudfront mà tôi thấy hoạt động rất tốt để phục vụ nội dung tĩnh. Đối với bộ nhớ cache, hãy kiểm tra Redis là tốt.
Martin Wickman

Tại sao Facebook là một ví dụ tồi?

Ồ, nó không tệ; Tôi chỉ nói rằng hầu hết các trang web sẽ không bao giờ trải nghiệm tải trên cấp độ trải nghiệm của Facebook hoặc Google.
Hóa đơn


1

Mạng phân phối nội dung

Facebook sử dụng mạng phân phối nội dung tĩnh để phục vụ ảnh và video. Kiểm tra nguồn của bất kỳ hình ảnh nào trong facebook và bạn sẽ thấy một cái gì đó như fbcdn.net.


1
Bạn có thể giải thích CDN là , trong bối cảnh của Facebook không? Chẳng hạn, như liên kết blog.facebook.com/blog.php?post=2406207130
Kanini

@Kanini Bạn có thể Trả phòng en.wikipedia.org/wiki/Content_delivery_network
Gulshan

Sự khác biệt giữa Điện toán đám mây và CDN là gì?
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.