Những công nghệ sử dụng trên Facebook

Thứ hai - 07/02/2011 15:25

Những công nghệ sử dụng trên Facebook

Facebook hiện đã trở thành một mạng xã hội quen thuộc với cộng đồng dân cư mạng trên toàn thế giới. Với số lượng người tham gia lên đến 400 triệu, lớn hơn rất nhiều lần dân số trung bình của một quốc gia, Facebook đang chiếm ngôi vị số 1 trong lĩnh vực mạng xã hội. Là một trong những mạng xã hội có số lượng thành viên lớn nhất thế giới, Facebook phải sử dụng những công nghệ cực kì hiện đại mới có thể vận hành cỗ máy khổng lồ như vậy.
Để quản lý và vận hành một trang web lớn như vậy chắc chắn không phải là một việc đơn giản. Trong bài viết này, chúng tôi sẽ giúp các bạn có cái nhìn tổng quan về những công nghệ đang được Facebook sử dụng.

Trước tiên, chúng ta sẽ tìm hiểu về tình hình thực tế hiện nay của Facebook.
  • Mỗi tháng có khoảng 630 tỉ lượt page views. (Theo Google Ad Planner)
  • Số ảnh có trên Facebook nhiều hơn tất cả các trang chia sẻ ảnh gộp lại. (Bao gồm cả những trang lớn như Flickr)
  • Hơn 3 tỉ bức ảnh được tải lên Facebook hàng tháng, trung bình có 1,2 triệu bức ảnh mỗi giây (Không tính những bức ảnh thông qua hệ thống CDN của Facebook)
  • Hơn 25 tỉ dữ liệu về thông tin (status, comment...v.v) được chia sẻ mỗi tháng.
  • Facebook có hơn 30.000 máy chủ. (Đây là số liệu thông kê cách đây 1 năm)
Những phần mềm và công nghệ đang được Facebook sử dụng:

Về cơ bản, Facebook hoạt động dựa trên nền tảng LAMP (Linux, Apache, MySQL và PHP) nhưng chúng đều được thay đổi, chỉnh sửa rất nhiều để phù hợp với nhu cầu riêng của mạng xã hội, với những công nghệ chủ yếu sau:
Memcached

Memcached là một hệ thống cache mà hầu hết các trang web lớn trên thế giới như: Youtube, Wikipedia, Flickr, Twitter...  sử dụng. Không khó hiểu khi nó được Facebook sử dụng cho hệ thống của mình.

Facebook chạy hàng nghìn máy chủ Memcached với dung lượng dữ liệu cache là 10 terabytes tại bất kì thời điểm nào. Đây có thể coi là hệ thống Memcache lớn nhất thế giới.

HipHop cho PHP

PHP là một dạng ngôn ngữ lập trình kịch bản, do đó tốc độ của nó khá chậm so với các ngôn ngữ có thể chạy trực tiếp trên máy chủ. HipHop sẽ chuyển mã PHP sang thành mã C++ nhờ đó có thể được biên dịch để đạt tốc độ cao hơn. Điều này giúp Facebook tận dụng tốt hơn sức mạnh của máy chủ do Facebook chủ yếu dùng PHP.

Nhóm kĩ sư của Facebook (gồm 3 người) đã mất 18 tháng để phát triển HipHop và giờ nó đã thành một sản phẩm hoàn thiện.



Haystack

Haystack là hệ thống lưu trữ và quản lý ảnh tốc độ cao của Facebook (nói một cách chính xác là hệ thống lưu trữ đối tượng, đối tượng không nhất thiết phải là ảnh).

Facebook đang lưu trữ hơn 20 tỉ bức ảnh và mỗi tháng lại có thêm 3 tỉ bức ảnh mới được tải lên. Mỗi bức ảnh được lưu dưới 4 độ phân giải khác nhau. Như vậy tổng cộng Facebook có hơn 80 tỉ bức ảnh. Hơn nữa, có tới 1.2 triệu bức ảnh cần phải xử lý mỗi giây. Chính vì vậy, hệ thống quản lý này không chỉ giúp xử lý đơn thuần mà còn giúp tăng tốc độ xử lý dữ liệu cho Facebook. 
 
BigPipe
BigPipe cũng là một hệ thống do Facebook phát triển. Facebook dùng hệ thống này để xử lý mỗi trang web theo từng phần nhỏ một (hay còn gọi là theo luồng) nhằm mục đích tăng tốc độ cho người dùng.

Ví dụ, cửa sổ chat hoàn toán tách biệt với mục feed. Điều này không chỉ giúp tăng tốc độ tải trang mà còn có tác dụng hạn chế sự cố xảy ra đồng thời.

Cassandra

Cassandra là hệ thống lưu trữ dữ liệu được Facebook sử dụng cho tính năng tìm kiếm trong Inbox.

Đây là một phần mềm nguồn mở (hiện tại đang là một dự án của Apache) được rất nhiều trang web lớn sử dụng.

Varnish
Varnish là trình tăng tốc HTTP hoạt động như một load balancer (bộ phân tải) và hệ thống cache nội dung giúp tốc độ tải trang là nhanh nhất.

Facebook sử dụng Varnish để xử lý ảnh thông thường và các ảnh trong profile người dùng. Nó có thể xử lý hàng tỉ requests (yêu cầu) trong một ngày. Tương tự các phần mềm khác được Facebook sử dụng, Varnish cũng là một phần mềm nguồn mở.

Kết luận

Với một mạng xã hội có quy mô khổng lồ như Facebook, việc hệ thống chạy nhanh và ổn định không chỉ đơn giản là việc sử dụng công nghệ tiên tiến mà còn phải phụ thuộc vào rất nhiều yếu tố khác. Với việc sử dụng phần mềm nguồn mở, Facebook đã đóng góp không ít cho sự phát triển của cộng đồng.

Tác giả bài viết: Misao

Nguồn tin: dientutieudung.vn

Tổng số điểm của bài viết là: 1 trong 1 đánh giá

Xếp hạng: 1 - 1 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Giới thiệu về NukeViet CMS

CMS là gì? CMS là từ viết tắt từ Content Management System. Theo wikipedia Định nghĩa. Hệ quản trị nội dung, cũng được gọi là hệ thống quản lý nội dung hay CMS (từ Content Management System của tiếng Anh) là phần mềm để tổ chức và tạo môi trường cộng tác thuận lợi nhằm mục đích xây dựng một hệ...

Thăm dò ý kiến

Bạn biết gì về NukeViet 4?

Thống kê truy cập
  • Đang truy cập94
  • Máy chủ tìm kiếm3
  • Khách viếng thăm91
  • Hôm nay27,289
  • Tháng hiện tại676,294
  • Tổng lượt truy cập48,868,374
  • Breadcrumbs

    Breadcrumbs được biết đến như một thành phần rất quan trọng trong hệ thống navigation cuả website gần như vào bất cứ website nào bạn cũng thấy sự hiện diện của nó. Mục tiêu nhằm cung cấp cho khách hàng những liên kết để quay lại trang trước cấp cao hơn. Và tiện theo dõi vị trí hiện tại của mình trên trang
  • Thông báo phát hành NukeViet 4.3.06

    NukeViet 4.3.06 tiếp tục là bản tiếp theo của thế hệ NukeViet 4.3. Thêm chức năng gửi lại email kích hoạt tài khoản chờ duyệt, chức năng cấu hình CORS, tùy chọn chèn logo cho mỗi lần upload và hỗ trợ các nhà phát triển debug các câu lệnh SQL là những điểm mới đáng chú ý ở phiên bản này.
  • Một số tính năng mới của NukeViet 4.3.06

    Thêm chức năng gửi lại email kích hoạt tài khoản chờ duyệt, chức năng cấu hình CORS, tùy chọn chèn logo cho mỗi lần upload và hỗ trợ các nhà phát triển debug các câu lệnh SQL là những điểm mới đáng chú ý ở NukeViet 4.3.06
  • Đọc, hiểu đúng báo cáo của Google PageSpeed Insights

    PageSpeed Insights là công cụ của Google dành cho các nhà phát triển web giúp phân tích nội dung của trang web, sau đó tạo đề xuất nhằm giúp trang đó hoạt động nhanh hơn. Tuy nhiên đọc và hiểu các báo cáo này như thế nào? Ứng dụng đến đâu... lại là chuyện mà chúng ta phải bàn!
  • Thông báo phát hành NukeViet 4.3.05

    NukeViet 4.3.05 tiếp tục là bản tiếp theo của thế hệ NukeViet 4.3. Gỡ bỏ các nội dung liên quan đến Google Plus và tính năng kiểm duyệt thông tin chỉnh sửa của thành viên là điểm nổi bật tại phiên bản này.
  • Một số cập nhật của phiên bản NukeViet 4.3.05

    Cùng điểm qua một số thay đổi tại phiên bản 4.3.05 của dòng NukeViet 4.x
  • Firefox Send triển khai cho tất cả mọi người

    Bản cập nhật mới nhất của trình duyệt Firefox cung cấp cho người dùng công cụ Firefox Send, giúp họ có thể di chuyển tập tin được mã hóa đầu cuối.
 
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây