Facebook glimpse of the underlying component technology system (reproduced)

2011-04-02  来源:本站原创  分类:Internet  人气:93 

http://www.yiihsia.com/2010/11/facebook% e6% 8a% 80% e6% 9c% af% e4% bd% 93% e7% b3% bb% e7% aa% a5% e6% 8e% a2% e4% b9% 8b% e5% 9f% ba% e7% a1% 80% e7% bb% 84% e4% bb% b6 /

Facebook, the world's number one SNS site, over 500 million active users, let's peek his technical system

Original here: Facebook glimpse of the basic components of technology systems

And many business Web sites, Facebook started on the choice of the LAMP (Linux / Apache / Mysql / PHP) architecture. But with the increasing size of site visits, based on the original lot in the continuous improvement, Facebook also has an open mind, to practice their skills through a variety of ways to share it. Even if you are not using LAMP architecture (such as we have a Java-based), but also gained a lot.

We all know that PHP is a scripting language, no compilation, but less efficient. Facebook on the efficiency of several common programming languages ​​to do a comparison

In order to improve the efficiency of PHP, Facebook has done a lot of optimization, Op-code optimization, APC caching. Finally, wielding a big killing device: HipHop for PHP, HipHop PHP can be converted into optimized C + +. After using HipHop, Web server CPU utilization reduced by 50%. Facebook has HipHop Open Source

Facebook in the framework of thinking on the use of SOA, will be independent, reusable modules pulled into the Service. In order to efficiently support multi-language calls, Facebook has developed a framework Thrift, Thrift currently supports C + +, PHP, Python, Java, Ruby, Erlang, Perl, Haskell, etc. For asynchronous message processing, Facebook is using the same log message is self-developed systems: Scribe. Scribe uses a client / server architecture, can be efficient and robust collection of various subsystems of the message log, to focus on a central server. Governance in the service, Facebook has developed a service management platform and service monitoring system.

Facebook promote the use of appropriate language to do the right thing. Service is currently the main development language is C + +, Java, Python and Erlang.

Facebook is heavily dependent on Memcached, large amounts of data stored in Memcached in, Mysql in most cases only as a simple Key-Value persistent storage, it is difficult to meet because of the efficiency of Mysql SNS website calculate the complexity of the data. Currently Facebook has thousands of Memcached servers, the storage of tens of T's data, supporting over 50 million times per second operation request. Facebook on the Memcached optimization include: transplant for 64-bit, improved serialization algorithm, using UDP instead of TCP, modify the network card drivers, optimize network protocol stack, data compression, and so on. Through these continuous optimization, Memcached stand-alone throughput capacity from 50,000 to 250,000

I am the Mysq layman, not in this trespass, interested students can refer to MySQLatFacebook of Page.


Facebook snooping technology system the P-level data

Facebook snooping technology system model of social computing

  • Facebook glimpse of the underlying component technology system (reproduced) 2011-04-02

    Reproduced http://www.yiihsia.com/2010/11/facebook% e6% 8a% 80% e6% 9c% af% e4% bd% 93% e7% b3% bb% e7% aa% a5% e6% 8e% a2% e4% b9% 8b% e5% 9f% ba% e7% a1% 80% e7% bb% 84% e4% bb% b6 / Facebook, the world's number one SNS site, over 500 million activ

  • Beginners how to develop a high-quality J2EE system (reproduced) 2010-08-10

    More and more learners J2EE, J2EE technology has its own development, the emergence of concepts, this article attempts to point from one easy to understand these concepts to explain to the beginners to grasp the direction of learning to learn J2EE. F

  • Spring AOP underlying implementation technology 2009-02-16

    Software programming language ultimate goal is to use more natural and more flexible way to simulate the world, from the original machine language to the process of language and then to object-oriented languages, we see programming language in a step

  • Spring AOP in the underlying implementation technology --- JDK dynamic proxy 2010-12-20

    <br /> JDK dynamic proxy provided in the JDK 1.3 dynamic proxy for the future technology that allows developers to create interfaces in the running of the proxy instance. Sun has just launched in the dynamic agent, it is difficult to imagine how muc

  • Inside the four major Chinese search engine technology: System Architecture (transfer) 2011-07-08

    Development of the Internet today, one is inseparable from its open, shared characteristics bring people a new experience, it also can not do without hundreds of millions of rich content to provide various types of network nodes. Before the Internet

  • Bigtable: the structure of a distributed data storage system (reproduced) 2010-12-20

    Original English text of this article was published in 2006 Google Google Bigtable paper Translated version of this article completed by the Alex, the original address is: http://blademaster.ixiezi.com/ It has been a long time I want to translate the

  • windows under the name of the file system (reproduced) 2011-03-18

    A ACCESS.CHM - Windows Help File ACCSTAT.EXE - auxiliary status indicators ADVAPI32.DLL - advanced Win32 application programming interface AHA154X.MPD - SCSI Drivers AM1500T.VXT - NIC driver AM2100.DOS - NIC driver APPSTART.ANI - Animated Cursor APPS

  • Android - Android property system (reproduced) 2010-12-07

    Each property has a name and value, they are string format. Property is widely used in the Android system, used to record the system settings or the exchange of information between processes. Property is visible throughout the global system. Each pro

  • Oracle Critical interpretation of the file system reproduced 2011-02-25

    To understand the documents in Oracle too much, believe it was get dizzy head, under the following classification: Version: Oracle Database 10g Enterprise Edition Release In general, Oracle document to the following types: Data files: real

  • Facebook PHP site the world's largest back-end technology Quest 2010-10-27

    In this year's Facebook F8 Developers Conference, 51CTO with you to understand the opening of its latest strategic plans and semantic search. Today we work together to understand the software behind Facebook to see the world as the most visited Web s

  • SOA thinking. Technology and System Integration Application Xiangjie Study Notes (1) 2010-03-29

    Today saw a book, "SOA thinking, technology and systems integration Xiang Jie," the search electronic version of the attempt. Inadvertently see a reading on the book notes, subsequently reproduced the order to leave a mark: SOA, to listen to is

  • Web mapping technology under the system and common Ajax Chart Plugin 2010-12-28

    Because of the company's project needs to do in the Web under the histogram and line graph, so I spent some time to study the current December 2010 under the former mainstream open source Web mapping technology and Ajax Chart plugin. In order to faci

  • Java SE technology 2009-09-09

    What is Java technology? Java technology is both a high-level object-oriented programming language, but also a platform. Java technology is based on the Java Virtual Machine (Java virtual machine, JVM) concept - this is the language and the underlyin

  • soa technology, webservice, soap 2010-04-29

    SOA, now in progress (excerpt from the Yuan Honggang Blog) (Very thorough analysis, at least I see know, not very far away, in particular, like the kind of Deep and articles and data, also recommended to everyone) SOA is hot now "hot." For the S

  • Facebook background Quest 2010-09-07

    Facebook scalability challenge Before we discuss the details, here are some software that Facebook has already done the scale: ◆ Facebook with 570 billion page views per month (according to Google Ad Planner) ◆ Facebook photos than other sites add up

  • Reinsurance processing system design and implementation <switch> 2010-11-30

    At present, most insurance companies have completed the core business operations systems, customer service systems, information security system and other basic construction of information systems. But with the competitive environment and customer nee

  • Getting Started Java technology 2011-01-11

    Java technology? Java technology is both a high-level object-oriented programming language, but also a platform. Java technology is based on Java Virtual Machine (Java virtual machine, JVM) concept - this is the language and the underlying software a

  • Enterprise application development practice under the Business Component 2010-03-29

    Author: Anders Xiao-Ming What is the enterprise application business components under the First, it is a component, which means that it needs to run in the container and therefore do not include any middleware services, while a certain structure (fil

  • Web Service Technology Insider 2010-04-02

    1. Web Service description 1.1 Web Service in the end What is this? Look at the current application development, you will find an absolute trend: people started to prefer browser-based thin-client applications. This is certainly not because the thin

  • Beginners how to develop high-quality J2EE System 2010-03-21

    J2EE learners more and more, J2EE technology continues its own development, emerged in a variety of concepts, this article attempts an easily understandable from the perspective of these concepts to explain to the beginners in order to grasp the dire