Facebook cấu hình cho hàng triệu máy chủ mỗi ngày như thế nào?

Facebook, mạng xã hội lớn nhất thế giới hiện nay có khoảng hơn 2 tỷ người dùng trên hàng triệu máy chủ. Vậy để chỉnh sửa, thay đổi cấu hình cho mỗi máy chủ, Facebook đã phải làm như thế nào?

Trước đây, để giải quyết vấn đề trên, Facebook sử dụng hệ thống phân phối cấu hình mã nguồn mở Zoo Keeper. Trong một lần chạy, Zoo Keeper chỉ phân phối được cấu hình tối đa 5Mb tới tối đa 2500 máy chủ. Tốc độ này không đáp ứng được yêu cầu của Facebook khi họ muốn thay đổi các cấu hình cho toàn bộ máy chủ một cách nhanh nhất có thể để khi tung ra các tính năng mới, tất cả người dùng (có thể phân chia theo khu vực địa lý) có thể được cung cấp một cách nhanh nhất và phải đúng theo thời gian thực. Điều này có nghĩa là tất cả người dùng Facebook ở Canada và người dùng Facebook ở Mỹ phải được sử dụng cùng một chức năng mới nhất đó.

Máy chủ của Facebook

Để đem đến cho người dùng những trải nghiệm tốt nhất, đội ngũ kỹ sư của Facebook muốn tạo ra một công cụ mới có tốc độ phân phối cấu hình ở mức 5s và dung lượng cấu hình gấp 10 lần của Zoo Keeper. Và họ đã phát triển ra một hệ thống có thể tự động phân phối cấu hình trên toàn bộ máy chủ có tên gọi là Location Aware Delivery (LAD).

LAD bao gồm hai phần:

  • Phần thứ nhất là một proxy nằm trên hệ thống chính của Facebook. Nhiệm vụ của nó là cung cấp các bản cấu hình mới nhất đến các máy chủ nào cần.
  • Phần thứ hai là một hệ thống phân phối, có nhiệm vụ cung cấp các thông tin cấu hình để tất cả các hệ thống máy chủ của Facebook thực hiện. Hệ thống này liên tục kiểm tra các bảng cấu hình mới nhất từ hệ thống proxy, khi phát hiện ra bảng cấu hình mới, một cây sơ đồ các máy chủ sẽ được tạo ra và sẽ tự động thực hiện cập nhật trên tất cả các máy chủ đó. Cấu trúc cây này sẽ đảm bảo rằng các bản cập nhật được gửi đến proxy, các máy chủ, các máy chủ con. Quy trình như vậy sẽ giúp giải quyết được tình trạng quá tải khi phân phối các thay đổi ở mức cực đại.

LAD của Facebook có thể nâng dung lượng file cập nhật lên tới 100MB, phân phối đến 40.000 máy chủ một lần, tăng 16 lần so với Zoo Keeper.

 Xem thêm: 

Thứ Bảy, 28/07/2018 11:02
52 👨 704