CrushQuocDan
New member
Khó ai ngờ được một website tí hon dành cho sinh viên đại học năm 2004 giờ đã thành một trong những hệ thống công nghệ "bá đạo" nhất hành tinh rồi! Đằng sau mỗi lần bạn lướt news feed, thả tim hay đăng ảnh sống ảo là cả một "vũ trụ" hạ tầng công nghệ với hàng trăm nghìn server, hàng tỷ truy vấn dữ liệu mỗi giây và đống thuật toán AI chạy nonstop luôn nha.
Tháng 2/2004, Mark Zuckerberg cùng hội bạn thân tại Đại học Harvard "thả" TheFacebook – tổ tiên của Facebook ngày nay. Lúc đầu, hệ thống được build trên bộ công nghệ khá "mainstream" thời đó gồm Linux, Apache, MySQL và PHP (hay còn gọi là mô hình LAMP – nghe cool phết đúng không? ).
Theo Meta Engineering, những năm "đu đưa" ban đầu, mỗi trường đại học tham gia mạng xã hội này gần như được gắn với một database riêng biệt. Khi sinh viên đăng nhập, các web server sẽ kết nối tới database tương ứng để lấy thông tin user.
Nhưng mà, mô hình này nhanh chóng "lộ nguyên hình" khi Facebook mở rộng từ Harvard sang các trường khác, rồi đến học sinh THPT và cuối cùng là toàn bộ dân Internet. Hàng triệu người bắt đầu kết nối với nhau, tạo ra một "đồ thị xã hội" (social graph) siêu khổng lồ chứa đủ thứ từ quan hệ bạn bè, nhóm, sự kiện, ảnh đến mọi tương tác.
Khác với các website "bình thường", Facebook phải xử lý một lượng data có tính liên kết "trên trời" luôn.
Mỗi khi bạn mở app, hệ thống phải trả lời cả tá câu hỏi gần như ngay lập tức: Bạn bè vừa đăng gì? Có ai comment bài viết không? Ai vừa thả tim ảnh của bạn? Nhóm nào có hoạt động mới?
Theo các kỹ sư Meta, ngay từ năm 2005, Facebook đã phải triển khai công nghệ Memcached để "cứu" database. Mark Zuckerberg được cho là đã tự tay tải phần mềm này về và cài đặt trên các server của Facebook nữa kìa – boss tự lăn xả luôn!
Memcached hoạt động như một "bộ nhớ đệm" cực xịn. Thay vì liên tục truy vấn dữ liệu từ ổ cứng hoặc database MySQL vốn "rùa bò", hệ thống sẽ lưu những thông tin được truy cập thường xuyên vào RAM để phản hồi nhanh như chớp.
Meta cho biết hạ tầng bộ nhớ đệm này hiện xử lý hàng tỷ yêu cầu mỗi giây và đóng vai trò "trụ cột" trong quá trình Facebook mở rộng lên hơn một tỷ người dùng.
Khi quy mô tăng trưởng quá "khủng", chỉ kết hợp MySQL và Memcached không còn "cân" nổi nữa.
Năm 2009, Facebook bắt đầu phát triển một hệ thống hoàn toàn mới mang tên TAO (The Associations and Objects) – nghe tên thôi đã thấy "pro" rồi!
Nếu coi Facebook là một bản đồ khổng lồ, TAO chính là hệ thống quản lý mọi mối liên kết trên bản đồ đó.
Trong TAO, mỗi người dùng, bức ảnh, bài viết hay trang cộng đồng được xem là một "đối tượng" (object). Các hành động như kết bạn, thích, bình luận hoặc theo dõi được xem là những "liên kết" (association) giữa các đối tượng.
Nhờ cách tổ chức này, Facebook có thể truy xuất nhanh các mối quan hệ phức tạp giữa hàng tỷ tài khoản – "smooth" vô cùng!
Theo tài liệu kỹ thuật công bố tại Hội nghị USENIX ATC 2013, TAO được thiết kế để phục vụ hơn một tỷ người dùng và xử lý trên một tỷ lượt đọc dữ liệu cùng hàng triệu lượt ghi dữ liệu mỗi giây. Sau này, Meta cho biết quy mô của hệ thống đã tiếp tục tăng lên nhiều lần – gấp bội luôn á!
Một trong những thành phần "xịn sò" nhất của Facebook là News Feed – bảng tin mà mỗi người dùng nhìn thấy khi mở ứng dụng.
Điều đặc biệt là không có hai người dùng nào nhìn thấy cùng một bảng tin đâu nha!
Mỗi khi đăng nhập, hệ thống phải lựa chọn trong số hàng nghìn nội dung tiềm năng để quyết định bài viết nào xuất hiện trước – "custom" riêng cho bạn luôn đó.
Theo các nghiên cứu công bố về hệ thống gợi ý nội dung của Facebook, việc xếp hạng bảng tin hiện nay chủ yếu dựa trên các mô hình trí tuệ nhân tạo và học sâu (deep learning) – AI làm chủ tất cả!
Thuật toán sẽ đánh giá cả đống yếu tố như: Mức độ thân thiết với người đăng; Chủ đề bạn thường tương tác; Loại nội dung yêu thích (ảnh, video, văn bản); Thời điểm đăng tải; Hành vi của những người dùng có sở thích giống bạn.
Sau đó hệ thống chấm điểm và sắp xếp nội dung theo mức độ phù hợp với từng cá nhân – "chill" thật sự!
Đây là lý do vì sao hai người bạn cùng theo dõi một trang nhưng có thể nhìn thấy những bài viết hoàn toàn khác nhau đấy.
Sự phát triển của Facebook kéo theo nhu cầu xây dựng các trung tâm dữ liệu ngày càng "bự".
Meta cho biết hạ tầng của họ đã chuyển từ một số ít máy chủ trong các trung tâm thuê ngoài thành mạng lưới trung tâm dữ liệu trải rộng trên nhiều khu vực toàn cầu – "scale up" mạnh mẽ!
Bên cạnh dữ liệu văn bản, Facebook còn phải lưu trữ hàng nghìn tỷ bức ảnh và video – ảnh sống ảo của cả thế giới đây mà!
Để xử lý khối lượng "khủng" này, công ty sử dụng hệ thống lưu trữ phân tán. Một nội dung có thể được sao chép ở nhiều trung tâm dữ liệu khác nhau nhằm đảm bảo tốc độ truy cập và khả năng dự phòng khi xảy ra sự cố.
Ngoài ra, Meta còn phát triển các công cụ riêng như McRouter để điều phối lưu lượng giữa hàng nghìn máy chủ bộ nhớ đệm. Theo tài liệu kỹ thuật của công ty, hệ thống này từng xử lý gần 5 tỷ yêu cầu mỗi giây ở thời điểm công bố – con số "điên rồ" luôn!
Sau hơn hai thập kỷ phát triển, Facebook không còn đơn thuần là một website kết nối bạn bè nữa rồi.
Meta cho biết hiện nay hạ tầng của tập đoàn phục vụ hơn 3,4 tỷ người trên toàn thế giới thông qua các nền tảng như Facebook, Instagram, Messenger và WhatsApp – cả "vũ trụ" đang dùng đấy!
Trí tuệ nhân tạo đang hiện diện trong hầu hết các chức năng: từ xếp hạng bảng tin, gợi ý kết bạn, phát hiện nội dung vi phạm cho tới hệ thống quảng cáo cá nhân hóa – AI everywhere!
Nguồn: soha.vn
Tháng 2/2004, Mark Zuckerberg cùng hội bạn thân tại Đại học Harvard "thả" TheFacebook – tổ tiên của Facebook ngày nay. Lúc đầu, hệ thống được build trên bộ công nghệ khá "mainstream" thời đó gồm Linux, Apache, MySQL và PHP (hay còn gọi là mô hình LAMP – nghe cool phết đúng không? ).
Theo Meta Engineering, những năm "đu đưa" ban đầu, mỗi trường đại học tham gia mạng xã hội này gần như được gắn với một database riêng biệt. Khi sinh viên đăng nhập, các web server sẽ kết nối tới database tương ứng để lấy thông tin user.
Nhưng mà, mô hình này nhanh chóng "lộ nguyên hình" khi Facebook mở rộng từ Harvard sang các trường khác, rồi đến học sinh THPT và cuối cùng là toàn bộ dân Internet. Hàng triệu người bắt đầu kết nối với nhau, tạo ra một "đồ thị xã hội" (social graph) siêu khổng lồ chứa đủ thứ từ quan hệ bạn bè, nhóm, sự kiện, ảnh đến mọi tương tác.
Khác với các website "bình thường", Facebook phải xử lý một lượng data có tính liên kết "trên trời" luôn.
Mỗi khi bạn mở app, hệ thống phải trả lời cả tá câu hỏi gần như ngay lập tức: Bạn bè vừa đăng gì? Có ai comment bài viết không? Ai vừa thả tim ảnh của bạn? Nhóm nào có hoạt động mới?
Theo các kỹ sư Meta, ngay từ năm 2005, Facebook đã phải triển khai công nghệ Memcached để "cứu" database. Mark Zuckerberg được cho là đã tự tay tải phần mềm này về và cài đặt trên các server của Facebook nữa kìa – boss tự lăn xả luôn!
Memcached hoạt động như một "bộ nhớ đệm" cực xịn. Thay vì liên tục truy vấn dữ liệu từ ổ cứng hoặc database MySQL vốn "rùa bò", hệ thống sẽ lưu những thông tin được truy cập thường xuyên vào RAM để phản hồi nhanh như chớp.
Meta cho biết hạ tầng bộ nhớ đệm này hiện xử lý hàng tỷ yêu cầu mỗi giây và đóng vai trò "trụ cột" trong quá trình Facebook mở rộng lên hơn một tỷ người dùng.
Khi quy mô tăng trưởng quá "khủng", chỉ kết hợp MySQL và Memcached không còn "cân" nổi nữa.
Năm 2009, Facebook bắt đầu phát triển một hệ thống hoàn toàn mới mang tên TAO (The Associations and Objects) – nghe tên thôi đã thấy "pro" rồi!
Nếu coi Facebook là một bản đồ khổng lồ, TAO chính là hệ thống quản lý mọi mối liên kết trên bản đồ đó.
Trong TAO, mỗi người dùng, bức ảnh, bài viết hay trang cộng đồng được xem là một "đối tượng" (object). Các hành động như kết bạn, thích, bình luận hoặc theo dõi được xem là những "liên kết" (association) giữa các đối tượng.
Nhờ cách tổ chức này, Facebook có thể truy xuất nhanh các mối quan hệ phức tạp giữa hàng tỷ tài khoản – "smooth" vô cùng!
Theo tài liệu kỹ thuật công bố tại Hội nghị USENIX ATC 2013, TAO được thiết kế để phục vụ hơn một tỷ người dùng và xử lý trên một tỷ lượt đọc dữ liệu cùng hàng triệu lượt ghi dữ liệu mỗi giây. Sau này, Meta cho biết quy mô của hệ thống đã tiếp tục tăng lên nhiều lần – gấp bội luôn á!
Một trong những thành phần "xịn sò" nhất của Facebook là News Feed – bảng tin mà mỗi người dùng nhìn thấy khi mở ứng dụng.
Điều đặc biệt là không có hai người dùng nào nhìn thấy cùng một bảng tin đâu nha!
Mỗi khi đăng nhập, hệ thống phải lựa chọn trong số hàng nghìn nội dung tiềm năng để quyết định bài viết nào xuất hiện trước – "custom" riêng cho bạn luôn đó.
Theo các nghiên cứu công bố về hệ thống gợi ý nội dung của Facebook, việc xếp hạng bảng tin hiện nay chủ yếu dựa trên các mô hình trí tuệ nhân tạo và học sâu (deep learning) – AI làm chủ tất cả!
Thuật toán sẽ đánh giá cả đống yếu tố như: Mức độ thân thiết với người đăng; Chủ đề bạn thường tương tác; Loại nội dung yêu thích (ảnh, video, văn bản); Thời điểm đăng tải; Hành vi của những người dùng có sở thích giống bạn.
Sau đó hệ thống chấm điểm và sắp xếp nội dung theo mức độ phù hợp với từng cá nhân – "chill" thật sự!
Đây là lý do vì sao hai người bạn cùng theo dõi một trang nhưng có thể nhìn thấy những bài viết hoàn toàn khác nhau đấy.
Sự phát triển của Facebook kéo theo nhu cầu xây dựng các trung tâm dữ liệu ngày càng "bự".
Meta cho biết hạ tầng của họ đã chuyển từ một số ít máy chủ trong các trung tâm thuê ngoài thành mạng lưới trung tâm dữ liệu trải rộng trên nhiều khu vực toàn cầu – "scale up" mạnh mẽ!
Bên cạnh dữ liệu văn bản, Facebook còn phải lưu trữ hàng nghìn tỷ bức ảnh và video – ảnh sống ảo của cả thế giới đây mà!
Để xử lý khối lượng "khủng" này, công ty sử dụng hệ thống lưu trữ phân tán. Một nội dung có thể được sao chép ở nhiều trung tâm dữ liệu khác nhau nhằm đảm bảo tốc độ truy cập và khả năng dự phòng khi xảy ra sự cố.
Ngoài ra, Meta còn phát triển các công cụ riêng như McRouter để điều phối lưu lượng giữa hàng nghìn máy chủ bộ nhớ đệm. Theo tài liệu kỹ thuật của công ty, hệ thống này từng xử lý gần 5 tỷ yêu cầu mỗi giây ở thời điểm công bố – con số "điên rồ" luôn!
Sau hơn hai thập kỷ phát triển, Facebook không còn đơn thuần là một website kết nối bạn bè nữa rồi.
Meta cho biết hiện nay hạ tầng của tập đoàn phục vụ hơn 3,4 tỷ người trên toàn thế giới thông qua các nền tảng như Facebook, Instagram, Messenger và WhatsApp – cả "vũ trụ" đang dùng đấy!
Trí tuệ nhân tạo đang hiện diện trong hầu hết các chức năng: từ xếp hạng bảng tin, gợi ý kết bạn, phát hiện nội dung vi phạm cho tới hệ thống quảng cáo cá nhân hóa – AI everywhere!
Nguồn: soha.vn