• Yamha
  • Tìm hiểu những công nghệ sử dụng trên Facebook

    12:5413/07/2010

    (Điện tử tiêu dùng) - 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.

     

    Facebook
    Facebook - mạng xã hội quen thuộc với cộng đồng dân cư mạng


    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.

    Để 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.
     




    Gửi nhận xét về bài viết:
    Họ tên:    Email:
    Nội dung:
    • DTTD