The background technology of Facebook, the world's top PHP Site, explores HadoopandHiveHadoop, which is an open-source map-reduce implementation that allows it to perform operations on big data. Facebook's use of this data analysis (and we all know that Facebook has been exploring a large number of the world's top PHP Site Facebook background Technologies
Hadoop and Hive
Hadoop is an open-source map-reduce implementation that allows it to perform operations on big data. Facebook uses this for data analysis (and we all know that Facebook already has a large amount of data ). Hive is originated from Facebook, making SQL queries for Hadoop more likely, but it is easier for non-programmers to use.
Hadoop and Hive are open-source (Apache projects) and have many followers, such as Yahoo and Twitter.
Thrift
Facebook uses several different languages and services. PHP is finally used for front-end, Erlang is used for chat, JAVA and C ++ are also used in multiple places, maybe there are other languages. Thrift is an internally developed cross-language framework that connects languages so that they can work together to enable interaction between them. This makes it easier for Facebook to continue its cross-language development.
Facebook has made Thrift open-source. More languages have been added to Thrift.
Varnish
Varnish is an HTTP accelerator that acts as a load balancer and caches content, which can then be delivered at lightning speed.
Facebook uses arnish to process photos and personal data images, processing billions of requests per day. Like other things, Varnish is open-source.
Other things that keep Facebook running smoothly
The software we have mentioned forms a Facebook system and helps run on a large scale. However, processing such a large system is a complicated task, so we will list some other things that keep Facebook running smoothly.
Gradual release and dark start
Facebook has a so-called keeper system that allows them to run two different systems for different users. This allows Facebook to gradually release new features, such as A/B testing, only for Facebook employees.
Keeper can also enable "dark start" for Facebook, which activates some features before users use some features (it is called a dark start because users are not aware of it ). This will serve as a stress test in the real world, helping expose some functional barriers and other problems before the official launch. Dark start is usually two weeks before the official start.
Profiling live broadcast system
Facebook carefully monitors its system. Interestingly, it is also responsible for monitoring the performance of every PHP function in the production environment. Checks the configuration and running status of each PHP environment. Use the open-source tool XHProf.
Gradually use the disabled feature to improve performance
If Facebook encounters performance problems during runtime, one way is to gradually disable less important features to enhance the performance of Facebook's many core features.
Things we did not mention
We didn't mention hardware-related things, but this is also an important part of improving scalability. For example, like other large websites, Facebook uses CDN to process static content. Facebook also has The huge data center, which can help him expand more services.
Facebook's open source plot
Not only does Facebook use (and help) open-source software such as Linux, Memcached, MySQL and Hadoop, but in many other cases, it also contributes a lot of internal development software.
Facebook is also open-source Tornado, a high-performance network server framework developed by the FriendFeed team. You can find the Open Source software list on Facebook's Open Source page.
Original address http://caifu.zol.com.cn/187/1878540.html
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.