Sabtu, 22 Maret 2014

System Terdistribusi pada Jejaring Sosial



System Terdistribusi pada Jejaring Sosial
Untuk membahas mengenai system terdistribusi pada jejaring social terlebih dahulu kita menelaah arti dari Sistem terdidtribusi. System terdistribusi adalah suatu kesatuan dari elemen-elemen yang saling berinteraksi  secara sistematis dan teratur untuk mendistribusikan data, informasi, obyek dan layanan dari dan
kepada pengguna yang terkait didalamnya. Infrastruktur utama sistem terdistribusi adalah jaringan, hardware software dan pengguna yang terkait di dalamnya. 1 Dalam sistem terdistribusi terdapat pembagian pekerjaan antara elemen yang satu dengan elemen yang lain Sarana komunikasi antar elemen dijembatani dengan jaringan. Tata cara komunikasi antar elemen diatur dengan sebuah perjanjian sehingga terjadi komunikasi yang dapat dipahami antara masing masing elemen yang terlibat.

Friendster adalah sebuah situs permainan sosial yang berfokus pada permainan dan musik yang berpusat di Mountain View, California. Friendster sebelumnya dikenal sebagai situs jejaring sosial Sebelum dirancang ulang, layanan ini memungkinkan pengguna berkomunikasi dengan anggota lain, serta berbagi konten dan media daring dengan anggota tersebut. Situs web ini dulunya digunakan untuk berkencan dan mencari tahu tentang acara baru, band, dan hobi. Pengguna dapat berbagi video, foto, pesan dan komentar dengan anggota lain melalui profil dan jaringan mereka. Friendster dianggap sebagai salah satu jejaring sosial asli dan bahkan "kakek"-nya semua jejaring sosial. Layanan ini sangat populer di kawasan Asia Tenggara.
System terdistribusi yang digunakan Friendster adalah Client server. Dimana client adalah perangkat yang menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya.

Software-software dalamnya antara lain ; 
1.Memcached
Memcached saat ini menjadi salah satu perangkat lunak paling terkenal di internet. Ia merupakan sistem caching memori terdistribusi yang digunakan Friendster (dan banyak situs lainnya) sebagai lapisan caching antara server web dan server MySQL (karena akses database relative lambat). Selama bertahun-tahun, Friendster telah berkali-kali melakukan optimasi pada memcached dan perangkat lunak sekitarnya (seperti mengoptimalkan penumpukan jaringan).
Friendster menjalankan ratusan bahkan ribuan server memcached dengan puluhan terabyte data cache pada satu titik waktu. Kemungkinan ini merupakan instalasi memcached terbesar di dunia. 

2.HipHop for PHP
PHP, sebagai scripting language, relative lambat bila dibandingkan dengan kode yang berjalan secara native di server. HipHop mengubah PHP menjadi kode C++ yang kemudian dapat dikompilasi untuk menghasilkan performa yang lebih baik. Hal ini telah memungkinkan Friendster untuk mengoptimalkan server webnya karena ia sangat bergantung pada PHP untuk melayani konten. Sebuah tim kecil engineer (awalnya hanya tiga orang) di Friendster menghabiskan 18 bulan mengembangkan HipHop, dan sekarang telah di produksi.

3.Haystack
Haystack adalah system penyimpanan/pencarian foto berkinerja tinggi pada Friendster (Sesungguhnya Haystack adalah sebuah penyimpanan object, sehingga tidak menyimpan foto). Ia mengerjakan kerja berat, lebih dari miliaran foto yang diunggah di Friendster, dan masing-masing disimpan dalam empat resolusi yang berbeda. Dan hal tersebut bukan hanya tentang kemampuan menangani miliaran foto, kinerja juga sangatlah penting.
4.BigPipe
BigPipe adalah system layanan halaman web dinamis yang dikembangkanoleh Friendster. Friendster menggunakannya untuk melayani setiap halaman web dalam beberapa bagian (disebut “pagelets” untuk menghasilkan kinerja yang optimal.

5.Cassandra
Cassandra adalah sistem open source yang berfungsi sebagai menejemen database terdistribusi. Friendster menggunakan Cassandra untuk memenejemen databasenya. Selain Friendster, sejumlah layanan lain juga menggunakannya, misalnya Facebook, Digg.

6.Scribe
Scribe adalah sistem logging fleksibel yang digunakan secara internal oleh media social seperti facebook dan Friendster untuk banyak tujuan. Ia dikembangkan untuk menangani logging pada media sosial, dan secara otomatis menangani kategori logging baru yang muncul.

7.Thrift
Friendster menggunakan beberapa bahasa yang berbeda untuk beberapa layanannya. Thrift adalah cross-language framework yang dikembangkan secara untuk mengikat semua bahasa yang berbeda tersebut, sehingga memungkinkan komunikasi antar bahasa tersebut. Hal ini memudahkan Friendster untuk pengembangan lintas-bahasanya.

8.Varnish
Varnish adalah akselerator HTTP yang bertindak sebagai penyeimbang beban dan juga konten cache yang kemudian dapat dilayani secepat kilat. Friendster menggunakan Varnish untuk melayani foto, penanganan banyak permintaan setiap hari. Seperti hamper semua yang digunakan Friendster, Varnish adalah open source. Hal-hal lain yang membantu Friendster berjalan lancar.

9.Profiling of the live system
Friendster 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.

Tidak ada komentar:

Posting Komentar