Memahami Cara Kerja Facebook
Pembahasan selanjutnya pada artikel saya adalah memahami seperti
apa sih facebook itu bekerja. Tentunya dengan kita mengetahui cara kerja
pada facebook kita dapat menganalisis sistem tersebut .
1. System kerja facebook
Facebook bekerja dengan menggunakan berbagai layanan, peralatan, dan bahasa pemrograman untuk membuat infrastruktur intinya. Di front end, server mereka menjalankan LAMP (Linux, Apache, MySQL, dan PHP) stack dengan memcache.
Linux & Apache
pengoprasian systemnya menggunkan Sistem Operasi Linux. Yang mempunyaikeunggulan dalam open source yang dapat dikustomisasi, dan baik untuk keamanan. Dapat menjalankan sistem operasi Linux pada Apache HTTP Server. Apache juga bebas dan merupakan open source web server yang populer digunakan.
MySQL
Untuk database, Facebook dapat menggunakan MySQL karena kecepatan dan kehandalan. MySQL digunakan terutama sebagai “key-value store” terdistribusi secara acak .
Facebook telah mengembangkan skema partisi khusus di mana suatu ID global yang ditugaskan untuk semua data. Mereka juga memiliki skema pengarsipan kustom yang didasarkan pada seberapa sering dan data baru-baru ini pada basis per-user. Sebagian besar data terdistribusi secara acak.
PHP
Facebook menggunakan PHP karena merupakan bahasa pemrograman web yang baik dengan dukungan luas dan komunitas pengembang yang aktif dan itu baik untuk iterasi yang cepat.
Memcache
Memcache adalah cache memori sistem yang digunakan untuk mempercepat database-driven website dinamis (seperti Facebook) oleh data caching dan objek dalam RAM untuk mengurangi waktu untuk membaca. Memcache adalah bentuk utama Facebook tentang caching dan membantu meringankan beban database.
Bagaimana Facebook Bekerja ? “Back End”
Layanan backend Facebook yang ditulis dalam berbagai bahasa pemrograman yang berbeda termasuk C + +, Java, Python, dan Erlang. Filosofi mereka untuk pembentukan jasa adalah sebagai berikut:
Thrift (protocol)
Thrift adalah “lightweight remote procedure call framework” untuk scalable cross-language services development. 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 dengan performa tinggi dan aplikasi.
Scribe (log server)
Scribe adalah server untuk menggabungkan data log streaming secara real-time dari server lainnya. Ini adalah scalable framework berguna untuk logging beragam data.
Cassandra (database)
Cassandra adalah sistem manajemen database yang dirancang untuk menangani data dalam jumlah besar tersebar di banyak server.
HipHop for PHP
HipHop for PHP adalah source code transformator untuk kode script PHP dan telah dibuat untuk menghemat sumber daya server. HipHop mengubah source code PHP ke C++ yang dioptimalkan. Setelah melakukan hal ini, menggunakan g + + untuk kompilasi untuk kode mesin.
Demikian yang dapat saya sampaikan semoga bermanfaat
1. System kerja facebook
Facebook bekerja dengan menggunakan berbagai layanan, peralatan, dan bahasa pemrograman untuk membuat infrastruktur intinya. Di front end, server mereka menjalankan LAMP (Linux, Apache, MySQL, dan PHP) stack dengan memcache.
Linux & Apache
pengoprasian systemnya menggunkan Sistem Operasi Linux. Yang mempunyaikeunggulan dalam open source yang dapat dikustomisasi, dan baik untuk keamanan. Dapat menjalankan sistem operasi Linux pada Apache HTTP Server. Apache juga bebas dan merupakan open source web server yang populer digunakan.
MySQL
Untuk database, Facebook dapat menggunakan MySQL karena kecepatan dan kehandalan. MySQL digunakan terutama sebagai “key-value store” terdistribusi secara acak .
Facebook telah mengembangkan skema partisi khusus di mana suatu ID global yang ditugaskan untuk semua data. Mereka juga memiliki skema pengarsipan kustom yang didasarkan pada seberapa sering dan data baru-baru ini pada basis per-user. Sebagian besar data terdistribusi secara acak.
PHP
Facebook menggunakan PHP karena merupakan bahasa pemrograman web yang baik dengan dukungan luas dan komunitas pengembang yang aktif dan itu baik untuk iterasi yang cepat.
Memcache
Memcache adalah cache memori sistem yang digunakan untuk mempercepat database-driven website dinamis (seperti Facebook) oleh data caching dan objek dalam RAM untuk mengurangi waktu untuk membaca. Memcache adalah bentuk utama Facebook tentang caching dan membantu meringankan beban database.
Bagaimana Facebook Bekerja ? “Back End”
Layanan backend Facebook yang ditulis dalam berbagai bahasa pemrograman yang berbeda termasuk C + +, Java, Python, dan Erlang. Filosofi mereka untuk pembentukan jasa adalah sebagai berikut:
- Membuat layanan jika diperlukan
- Membuat framework/toolset untuk penciptaan layanan lebih mudah
- Gunakan bahasa pemrograman yang tepat untuk tugas
Thrift (protocol)
Thrift adalah “lightweight remote procedure call framework” untuk scalable cross-language services development. 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 dengan performa tinggi dan aplikasi.
Scribe (log server)
Scribe adalah server untuk menggabungkan data log streaming secara real-time dari server lainnya. Ini adalah scalable framework berguna untuk logging beragam data.
Cassandra (database)
Cassandra adalah sistem manajemen database yang dirancang untuk menangani data dalam jumlah besar tersebar di banyak server.
HipHop for PHP
HipHop for PHP adalah source code transformator untuk kode script PHP dan telah dibuat untuk menghemat sumber daya server. HipHop mengubah source code PHP ke C++ yang dioptimalkan. Setelah melakukan hal ini, menggunakan g + + untuk kompilasi untuk kode mesin.
Demikian yang dapat saya sampaikan semoga bermanfaat
Tidak ada komentar:
Posting Komentar