2 Februari 2011

menjelajahi perangkat lunak dibalik facebook (bagian2)

Hadoop dan Hive


Hadoop adalah implementasi map-reduce open source yang memungkinkan untuk melakukan perhitungan data dalam jumlah besar.

Facebook menggunakannya untuk analisis data (dan seperti yang kita ketahui, Facebook memiliki data dalam jumlah yang besar).

Hive dikembangkan oleh Facebook, dan dengannya dimungkinkan untuk menggunakan query SQL terhadap Hadoop, sehingga lebih mudah bagi non-programmer untuk menggunakannya.

Baik Hadoop dan Hive adalah open source dan digunakan oleh sejumlah layanan besar, misalnya Yahoo dan Twitter.

Thrift

Facebook menggunakan beberapa bahasa yang berbeda untuk beberapa layanannya. PHP digunakan untuk front-end, Erlang digunakan untuk Chat, Java dan C + + juga digunakan di beberapa tempat (dan mungkin bahasa lainnya juga).

Thrift adalah cross-language framework yang dikembangkan secara internal untuk mengikat semua bahasa yang berbeda tersebut, sehingga memungkinkan komunikasi antar bahasa tersebut. Hal ini memudahkan Facebook untuk pengembangan lintas-bahasanya.

Varnish



Varnish adalah akselerator HTTP yang bertindak sebagai penyeimbang beban dan juga konten cache yang kemudian dapat dilayani secepat kilat.

Facebook menggunakan Varnish untuk melayani foto dan gambar profil, penanganan miliaran permintaan setiap hari. Seperti hampir semua yang digunakan Facebook, Varnish adalah open source.

Hal-hal lain yang membantu Facebook berjalan lancar

Kita telah menyebutkan beberapa perangkat lunak yang membangun sistem Facebook dan membantu layanannya dengan benar.

Tetapi penanganan sistem sebesar itu merupakan tugas yang kompleks. Berikut adalah hal-hal yang dilakukan Facebook untuk menjaga agar layanannya tetap berjalan lancar.

http://www.bjweb.com/internetmarketing/wp-content/uploads/2009/04/make-money-with-facebook.jpg


Gradual releases and dark launches

Facebook memiliki sistem yang mereka sebut Gatekeeper yang memungkinkan mereka menjalankan kode yang berbeda untuk sekumpulan pengguna yang berbeda.

Ini memungkinkan Facebook untuk melakukan rilis bertahap fitur-fitus baru, pengujian A/B, mengaktifkan fitur tertentu hanya untuk karyawan Facebook, dll.

Gatekeeper juga memungkinkan Facebook untuk melakukan sesuatu yang disebut "dark launches", yaitu untuk mengaktifkan unsur-unsur dari fitur tertentu di balik layar sebelum ditayangkan (tanpa sepengetahuan pengguna).

Hal ini berfungsi sebagai tes nyata dan membantu mengekspos kemacetan dan masalah-masalah lain sebelum fitur tersebut secara resmi diluncurkan. Dark launches biasanya dilakukan dua minggu sebelum peluncuran resmi.

Profiling of the live system

Facebook memonitor sistemnya secara cermat dan juga memantau kinerja setiap fungsi PHP dalam live production environment. Profiling PHP ini dilakukan dengan menggunakan sebuah tool open source yang bernama XHProf.

Gradual feature disabling for added performance

Jika Facebook mengalami masalah kinerja, ada sejumlah tuas yang secara bertahap menonaktifkan fitur kurang penting untuk meningkatkan kinerja fitur utama Facebook.

Kalau kita perhatikan, ternyata Facebook banyak menggunaka open source untuk membangun sistemnya. Tidak hanya menggunakan, Facebook juga memberikan kontribusi untuk perangkat lunak open source seperti Linux, memcached, MySQL, Hadoop, dan lainnya.

Lebih daripada itu, Facebook juga menjadikan software-software yang dikembangkan secara internal oleh mereka sebagai open source. Contoh proyek open source yang berasal dari Facebook adalah HipHop, Cassandra, Thrift dan Scribe.

Tiada ulasan:

Catat Ulasan

Admin menerima komentar terkait artikel yang ditayangkan. Isi komentar menjadi tanggung jawab pengirim. Admin berhak untuk tidak menampilkan komentar jika dianggap tidak etis, kasar, berisi fitnah, atau berbau SARA.
Jadikan fasilitas komentar sebagai ajang diskusi yang membangun, untuk itu tidak diperkenankan untuk melanjutkan berhitung urutan komentar.

Related Posts Plugin for WordPress, Blogger...