Have you ever thought how Facebook is build? On which platform or what are the languages used for coding it?
Well Facebook is written in a variety of programming languages like C++, Java, Python, and Erlang.
Facebook uses LAMP stack with Memcached.
LAMP
LAMP is a stack of open source software Linux (operating system), Apache HTTP Server, MySQL (database software) and PHP (or sometimes Perl or Python).
In case of Facebook it uses Linux, Apache, MySQL and PHP.
Memcached
It is a distributed memory object caching system.
Facebook uses lot of different tools, services and languages for
developer’s tool, Infrastructure, etc but we will just focus on its
Infrastructure so that it does not become too big topic.
Apache Cassandra
It is a storage system for managing structured data and is designed to
handle very large size of data across many servers. It’s a perfect
platform for mission-critical data and highly available without
compromising performance.
Apache Hive
It is a data warehouse system built on top of Hadoop that helps in easy
data summarization, adhoc querying and analysis of large datasets stored
in Hadoop compatible file systems.
Apache Thrift
It is a software framework for scalable cross-language services
development. Thrift supports C++, PHP, Python, Perl, Java, Ruby, Erlang,
Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi
and other languages.
FlashCache
is a general purpose writeback block cache for Linux. It was developed
as a loadable Linux kernel module, using the Device Mapper and sits
below the filesystem and it allows caching of a drive on another drive.
The module was originally written and released by Facebook
Open Compute Project
It is an open hardware project which accelerates the data center and efficient computing infrastructures at the lowest cost.
Open Compute Project
It is an open hardware project which accelerates the data center and efficient computing infrastructures at the lowest cost.
HipHop for PHP
It is a transformer of PHP source code into C++. It was developed by
Facebook to save server resources and was released as open source in
2010. It is useful for those companies which are running very large PHP
infrastructures who don’t want to rewrite complex logic within C or C++
and by doing this it helps them to reduce the number of people who are
hired to do this work on the company’s entire codebase. It uses G++ to
compile it to machine code.
Scribe
Scribe is a server for aggregating log data streamed in real time from a
large number of servers from clients. It is designed to be scalable,
reliable and extensible without client-side modification, and robust to
failure of any specific machine or the network.
Tornado
It is an open source version of scalable, non-blocking web server
framework written in Python. It handles thousands of connections at the
same time.
No comments:
Post a Comment