Monday, April 8, 2013

Bagaimana Cara Kerja Facebook?


Jejaring sosial adalah suatu seni berhubungan dengan orang-orang yang berbagi minat yang sama. Jaringan Anda adalah sebuah komunitas yang membantu menjaga Anda bersatu dengan orang lain dan menawarkan banyak manfaat. Jaringan melalui situs media sosial telah merevolusi cara kita menggunakan Internet dan berada di barisan depan dari apa yang sekarang kita sebut Web 2.0.
Facebook adalah jejaring sosial. Orang-orang telah “facebooking” selama lebih dari 6 tahun, membuat Facebook menjadi jaringan sosial yang paling sering digunakan dengan lebih dari 500 juta pengguna di seluruh dunia. Tapi bagaimana Facebook bekerja?
Pada artikel ini, saya akan membahas isi Facebook, meliputi arsitektur dan infrastruktur frontend / backend yang mengendalikan Facebook bersama-sama.
Bagaimana Cara Kerja Facebook – The Front End
Facebook menggunakan berbagai layanan, peralatan, dan bahasa pemrograman untuk membuat infrastruktur inti. Pada ujung depan, server mereka menjalankan LAMP (Linux, Apache, MySQL, dan PHP) stack dengan Memcache. Anda bukan seorang ahli ilmu komputer? Mari kita lihat apa artinya.

Linux & Apache

Bagian ini cukup jelas. Linux adalah Unix seperti kernel sistem operasi komputer. Ini open source, mudah disesuaikan, dan baik untuk keamanan. Facebook menjalankan sistem operasi Linux di Apache HTTP Server. Apache juga open source gratis dan merupakan web server yang paling populer di gunakan.
MySQL

Untuk database, Facebook menggunakan MySQL karena kecepatan dan kehandalan. MySQL digunakan terutama sebagai penyimpan nilai kunci sebagai data secara acak didistribusikan diantara set besar kasus logis. Contoh-contoh logis tersebar di seluruh node fisik dan load balancing yang dilakukan di tingkat simpul fisik.
Sejauh kustomisasi yang bersangkutan, Facebook telah mengembangkan skema partisi kustom di mana ID global ditugaskan untuk semua data. Mereka juga memiliki skema pengarsipan kustom yang didasarkan pada bagaimana data yang sering dan aktual pada basis per-user. Data yang paling aktual didistribusikan secara acak.
VP Teknologi Facebook, Jeff Rothschild memberikan beberapa rincian pada konferensi pengguna MySQL terakhir. Rothschild mengatakan Facebook sekarang berjalan 10.000 server, termasuk 1.800 server MySQL yang diawasi oleh hanya dua database administrator.
PHP


Facebook menggunakan PHP karena itu adalah bahasa pemrograman web yang baik dengan dukungan luas dan komunitas pengembang yang aktif dan hal ini baik untuk iterasi yang cepat. PHP adalah bahasa pemrograman script yang dinamis.
Memcache


Memcache adalah sistem caching memori yang digunakan untuk mempercepat database website dinamis (seperti Facebook). Dengan caching data dan objek dalam RAM untuk mengurangi waktu membaca. Memcache adalah media cache utama Facebook membantu meringankan beban database.
Memiliki sistem caching memungkinkan Facebook untuk bisa sangat cepat memanggil data Anda. Karena tidak harus pergi ke database, memcache hanya akan mengambil data Anda dari cache berdasarkan ID pengguna Anda.
Kekurangan untuk Menggunakan LAMP
Facebook telah menyadari bahwa ada kerugian untuk menggunakan LAMP stack. Terutama, PHP tidak selalu bisa dioptimalkan untuk website besar dan karena itu sulit untuk skala. Juga, itu bukan bahasa tercepat untuk dijalankan. Dan kerangka ekstensi sulit untuk digunakan.



Mike Schroepfer, Wakil Presiden Facebook Teknik, baru-baru melakukan wawancara di EmTech @ MIT tentang ini. “Scaling situs web apapun adalah sebuah tantangan,” kata Schroepfer, “tapi skala jaringan sosial memiliki tantangan yang unik.”
Dia melanjutkan dengan mengatakan bahwa tidak seperti situs lain, Anda tidak bisa hanya menambahkan server lebih untuk memecahkan masalah karena koneksi Facebook Baru dibuat untuk semua waktu karena aktivitas pengguna “Dataset besar saling berhubungan besar”.
Facebook telah tumbuh begitu cepat sehingga mereka sering dihadapkan dengan isu-isu mengenai query database, caching, dan penyimpanan data. Database mereka sangat besar dan sangat kompleks. Untuk menjelaskan hal ini, Facebook telah mulai banyak proyek open source dan layanan backend.
Bagaimana Cara Kerja Facebook? – Back End
Backend layanan Facebook ditulis dalam berbagai bahasa pemrograman yang berbeda termasuk C + +, Java, Python, dan Erlang. Filosofi mereka untuk penciptaan layanan adalah sebagai berikut:
1. Buat layanan jika diperlukan
2. Buat kerangka / toolset untuk menciptakan layanan dengan mudah
3. Gunakan bahasa pemrograman yang tepat untuk semua tugas
Daftar semua perkembangan open Facebook source dapat ditemukan di sini. Saya akan membahas beberapa alat-alat penting yang telah dikembangkan Facebook.

Thrift (protokol)


Thrift adalah kerangka remote procedure call lintas bahasa. Thrift mendukung C + +, PHP, Python, Perl, Java, Ruby, Erlang, dan lain-lain. Ini cepat, menghemat waktu pengembangan, dan menyediakan pembagian tenaga kerja bekerja pada server dan aplikasi dengan kinerja tinggi.
Scribe (log server)
Scribe adalah server untuk menggabungkan data log dialirkan secara real-time dari server lain. Ini adalah kerangka kerja terukur berguna untuk menyimpan log beragam data. Hal ini dibangun di atas Thrift.
Cassandra (database)


Cassandra adalah sistem manajemen database yang dirancang untuk menangani sejumlah besar data yang tersebar pada banyak server. Ini kekuatan fitur Kotak Pencarian Facebook dan menyediakan penyimpanan nilai kunci terstruktur dengan sangat konsisten.
Hiphop untuk PHP
Hiphop untuk PHP adalah kode sumber transformator untuk kode script PHP dan diciptakan untuk menghemat sumber daya server. Hiphop mengubah source code PHP ke dioptimalkan C++. Setelah melakukan hal ini, menggunakan g++ untuk mengkompilasi ke kode mesin.
Kesimpulan
Singkatnya, itulah Facebook. Artikel ini dengan mudah bisa menjadi 37 halaman lebih lama jika saya harus membahas lebih rinci, namun untuk menjawab pertanyaan “Bagaimana Facebook bekerja?” Saya pikir ini akan cukup. Jika Anda melihat masa lalu semua fitur dan inovasi ide utama di balik Facebook benar-benar sangat mendasar “menjaga orang terhubung”. Facebook menyadari kekuatan jaringan sosial dan terus berinovasi untuk menjaga layanan mereka yang terbaik dalam bisnis ini.

Judul: Bagaimana Cara Kerja Facebook?; Ditulis oleh Unknown; Rating Blog: 5 dari 5

0 komentar:

Post a Comment