Wilujeng ngeBlog Daks..
Masih dalam Social Media weeks, ane bakal ngelanjutin pembahasan kita tentang media sosial. Dipostingan ini ane bakal bahas secara sekilas tentang cara kerja dari Medsos facebook baik secara front end maupun back end. Langsung aja kita Cekibrot Daks..
Facebook secara Front End Daks..
Facebook 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 dan Apache : Linux adalah sebuah komputer Unix seperti kernel sistem operasi. Ini open source, sangat 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.
- Cacheing (Mencache) : 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.
Terus secara Back End nya Gimana Jang??
Layanan Back End Facebook yang ditulis dalam berbagai bahasa pemrograman yang berbeda termasuk C ++, Java, Python, dan Erlang. Filosofi mereka untuk pembentukan jasa adalah Membuat layanan jika diperlukan, Membuat framework/toolset untuk penciptaan layanan lebih mudah dan 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 (Data Base) : 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.

0 comments:
Post a Comment