SlideShare uma empresa Scribd logo
1 de 27
FACEBOOKTHRIFT
 Facebook is the “social networking “ People have been
“facebooking” each other for about 7 years now, making
Facebook the most used social network with over 500 million
users worldwide.50% of our active users log on to Facebook in
any given day Average user has 130 friends .People spend over
700 billion minutes per month on Facebook.There are over
900 million objects that people interact with (pages, groups,
events and community pages).
INTRODUCTION
 Thrift is an interface definition language and binary
communication protocol
 It is used as a remote procedure call (RPC) framework and was
developed at Facebook for "scalable cross-language services
development".
 It combines a software stack with a code generation engine to
build services that work efficiently on
C#, C++ , Java, Perl, PHP, Python, Ruby and Smalltalk.
 it is now an open source project in the ApacheSoftware
Foundation, now hosted onApache.
THRIFT
 Scribe (log server) is aserver for aggregating log data
streamed in real-time from many other servers. Useful for
logging a wide array of data. It is built on top of Thrift.
 Cassandra is adatabase management system designed to
handle large amounts of data spread out across many servers.
It powers Facebook’s Inbox Search feature and provides a
structured key-value store with eventual consistency.
 HipHop for PHPis asource code transformer for PHPscript
code and was created to save server resources. HipHop
transforms PHPsource code into optimized C++.After doing
this, it uses g++ to compile it to machine code.
The BackEnd
 The primary idea behind Thrift is that it consists of alanguage
neutral stack which is implemented across various programming
languages and an associated code generation engine which
transforms asimple interface and data definition language into
client and server remote procedure call libraries.
 Thrift is designed to be assimple aspossible for the developers
who can define all the necessarydata structures and interfaces
for acomplex service in asingle short file.
 This file is called asThrift Interface Definition Logic File or Thrift
IDLFile.
 The developers identified some important features while
evaluating the technical challenges of cross language interactions
in anetworked environment.
Thrift DesignFeatures
 Transport:
Eachlanguage must have acommon interface to bidirectional raw
data transport. Consider ascenario where there are 2servers in which, one
is deployed in Java and the other one is deployed in Python. Soatypical
service written in Java should be able to send the raw data from that service
to acommon interface which will be understood by the other server which
is running on Python and vice-versa. TheTransport Layer should be able to
transport the raw data file across the two ends.The specifics about how this
transport is implemented shouldn’t matter to the service developer. The
same application code should be able to run against TCPStream Sockets,
raw data in memory or files on disk.
 Protocol:
In order to transport the raw data, they have to be encoded into a
particular format like binary, XMLetc. Therefore the Transport Layer uses
some particular protocol to encode or decode the data. Again the
application developer will not be bothered about this. He is only worried
whether the data can be read or written in some deterministic manner.
Types
 Versioning:
For the services to be robust they must evolve from their
present version. They should incorporate new features and in
order to do this the data types involved in the service should
provide a mechanism to add or delete fields of an object or alter
the arguments list of afunction without any interruption in
service. This is calledVersioning.
 Processors:
Processors are the ones which process the data streams
and accomplish Remote ProcedureCalls.
Cont..
 Thrift has been employed in alarge number of applications at
Facebook, including search, logging, mobile, ads and the
developer platform. Two specific usages are discussed below.
 Search
 logging
Facebook ThriftServices
Facebook serves 570 billion page views per month
There are more photos on Facebook than all other photo sites
combined
More than 3 billion photos are uploaded every month.
Facebook’s systems serve 1.2 million photos per second.
More than 25 billion pieces of content (status updates,
comments, etc) are shared every month.
Facebook has more than 30,000 servers (and this number is
from last year!)
Facebook’s scaling challenge
 Linux &Apache
 PHP
 Memcache
 Haystack
 BigPipe
How Does Facebook Work?
There are more than 20 billion uploaded photos on Facebook, and
each one is saved in four different resolutions, resulting in more
than 80 billion photos.
And it’s not just about being able to handle billions of photos,
performance is critical. Facebook serves around 1.2 million
photos per second.
Haystack is Facebook’s high-performance photo storage/retrieval
system, a highly scalable object store used to serve Facebook’s
immense amount of photos.
Strictly speaking, Haystack is an object store, so it doesn’t
necessarily have to store photos.
Haystack stores photo data inside 10 GB bucket with 1 MB of
metadata for every GB stored.
Haystack
 Pipelining web pages for high performance
 BigPipe -dynamic web page serving system, Facebook has
developed.
 Facebook uses it to serve each web page in sections (called
“pagelets”) for optimal performance.
 BigPipe is a fundamental redesign of the dynamic web page
serving system. The general idea is to pipeline pagelets through
several execution stages inside web servers and browsers.
 BigPipe breaks the page generation process into several stages
 The first three stages are executed by the web server, and the last
four stages are executed by the browser.
BIGPIPE
 Free & open source, high-performance, distributed
memory object caching system
 Memcached is an in-memory key-value store for small chunks
of arbitrary data (strings, objects) from results of database calls,
API calls, or page rendering.
 The system uses a client–server architecture. the clients
populate this array and query it.
 The servers keep the values in RAM; if a server runs out of
RAM, it discards the oldest values.
 Clients can read each other's cached data.
MEMCACHE
 Facebook has a system, Gatekeeper that lets run different
code for different sets of users.
 This lets Facebook do gradual releases of new features,
activate certain features only for Facebook employees, etc.
 Gatekeeper also lets Facebook do something called “dark
launches”, which is to activate elements of acertain
feature behind the scenes before it goes live
Gradual releases and darklaunches
 The Facebook Platform provides a set of APIs and tools
which enable 3rd party developers to integrate with the
"open graph“.
 Graph API is the core of Facebook Platform, enabling
developers to read and write data to Facebook
Facebook Platform
 The GraphAPI presents asimple, consistent view of the
Facebook social graph, uniformly representing objects in the
graph (e.g.,people, photos, events, and pages) and the
connections between them (e.g., friend relationships,
shared content, and phototags).
 RestfulAPI for accessing data on the Facebook graph.
 Every object in the social graph has a unique ID. You can
access the properties of an object by requesting -
https://graph.facebook.com/ID
 Alternatively, people and pages with usernames can be
accessed using their username asan ID.All responses are
JSONobjects.
The GraphAPI
 FBMLis avariant-evolved subset of HTMLwith some elements
removed.
 It allows FacebookApplication developers to customize the "look
and feel" of their applications, to alimited extent.
 It is the specification of how to encode content so that
Facebook's servers can read and publish it.
 FBMLplays an important role in building applications. FBMLis used
to tap in to various Facebook elements when building applications.
 It operates alot like HTMLand it gives the ability to do various tasks
with ease suchas:
sending ausere-mail
embedding flashvideo
creating adashboard
posting on awall
Facebook Markup Language
 Facebook also allows the use of regular HTMLtags, such as<a
href=”#”></a>, which is used to generate ahyperlink. Facebook alsoallows
the use of many more HTMLtags for building applications
FBML
 The new Messages interweaves your chats, texts and emails.
It’s acentral place to control all of your private
communication, both on and off Facebook.
 Simply put, it can be a single inbox for all of your messages,
no matter how you choose to send them.
 A facebook.com EmailAddress
 SMS FromFacebook
 Chat History
Facebook’s New Messages
 Facebook Connect is a set of APIs from Facebook that enable
Facebook members to log onto third-party websites,
applications, mobile devices and gaming systems with their
Facebook identity.
Facebook Connect
 Unlike other social networks like Friendster, MySpace,
and Twitter – all of whom have run into serious scalability issues
at different points during their growth. Facebook has been mostly
reliable throughout its rise.
 In actuality, Facebook uses JavaScript heavily, relies on their own
in-house PHP wrapper called XHP, HipHop (which optimizes
PHP), and many more technologies.
 A lot of technologies have been developed by Facebookin-house
to serve their own needs, for example Cassandra
RELIABILITY
 Thrift generates both the server and client interfaces for a given
service, and in a consistent manner. Client calls will be more
consistent
 Related to above: Thrift's RPC-like behavior means that you get
type safety
 Thrift supports various protocols, not just HTTP. If you are
dealing with large volumes of service calls, or have bandwidth
requirements, the client/server can transparently switch to more
efficient transports
 Thrift is a mature piece of software; well tested and used.
Advantages of Thrift:
 Thrift is poorly documented.
 It is more work to get started on the client side, when the
clients are directly building the calling code. It's less work for
the service owner if they are building libraries for clientsYet
another dependency.
Disadvantages:
facebookthrift-151001153400-lva1-app6891.pptx

Mais conteúdo relacionado

Semelhante a facebookthrift-151001153400-lva1-app6891.pptx

Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Emanuela Boroș
 
Flex Framework Presentation PPT
Flex Framework Presentation PPTFlex Framework Presentation PPT
Flex Framework Presentation PPTConstantin Stan
 
SMARCOS CNR Paper Mashups
SMARCOS CNR  Paper MashupsSMARCOS CNR  Paper Mashups
SMARCOS CNR Paper MashupsSmarcos Eu
 
Which Backend Is Best For Flutter.pdf
Which Backend Is Best For Flutter.pdfWhich Backend Is Best For Flutter.pdf
Which Backend Is Best For Flutter.pdfAppdeveloper10
 
SERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGSERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGProf Ansari
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0guest642dd3
 
Mashups and Web Services
Mashups and Web ServicesMashups and Web Services
Mashups and Web Servicesgiurca
 
Wiring the Web
Wiring the WebWiring the Web
Wiring the Webgoodfriday
 
Presention on Facebook in f Distributed systems
Presention on Facebook in f Distributed systemsPresention on Facebook in f Distributed systems
Presention on Facebook in f Distributed systemsAhmad Yar
 
Cloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case StudyCloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case StudyMustafa Salam
 
DSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps MashupsDSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps Mashupsaliraza786
 
Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web DevelopmentSWAGATHCHOWDARY1
 
A quick guide on Mobile App Backend development
A quick guide on Mobile App Backend developmentA quick guide on Mobile App Backend development
A quick guide on Mobile App Backend developmentRia Katiyar
 
Website and it's importance
Website and it's importanceWebsite and it's importance
Website and it's importanceRobinSingh347
 
Technology for Teachers
Technology for TeachersTechnology for Teachers
Technology for Teachersedfactor
 
Web application presentation
Web application presentationWeb application presentation
Web application presentationEhsan Ullah Kakar
 

Semelhante a facebookthrift-151001153400-lva1-app6891.pptx (20)

Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)
 
Flex Framework Presentation PPT
Flex Framework Presentation PPTFlex Framework Presentation PPT
Flex Framework Presentation PPT
 
SMARCOS CNR Paper Mashups
SMARCOS CNR  Paper MashupsSMARCOS CNR  Paper Mashups
SMARCOS CNR Paper Mashups
 
Which Backend Is Best For Flutter.pdf
Which Backend Is Best For Flutter.pdfWhich Backend Is Best For Flutter.pdf
Which Backend Is Best For Flutter.pdf
 
Flutter for Web - A Comprehensive Outline.pdf
Flutter for Web - A Comprehensive Outline.pdfFlutter for Web - A Comprehensive Outline.pdf
Flutter for Web - A Comprehensive Outline.pdf
 
SERVER SIDE SCRIPTING
SERVER SIDE SCRIPTINGSERVER SIDE SCRIPTING
SERVER SIDE SCRIPTING
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0
 
074Aman.pptx
074Aman.pptx074Aman.pptx
074Aman.pptx
 
Mashups and Web Services
Mashups and Web ServicesMashups and Web Services
Mashups and Web Services
 
Wiring the Web
Wiring the WebWiring the Web
Wiring the Web
 
Presention on Facebook in f Distributed systems
Presention on Facebook in f Distributed systemsPresention on Facebook in f Distributed systems
Presention on Facebook in f Distributed systems
 
Cloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case StudyCloud technology (Mashup) + Case Study
Cloud technology (Mashup) + Case Study
 
xcfgdfbn
xcfgdfbnxcfgdfbn
xcfgdfbn
 
DSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps MashupsDSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps Mashups
 
Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web Development
 
A quick guide on Mobile App Backend development
A quick guide on Mobile App Backend developmentA quick guide on Mobile App Backend development
A quick guide on Mobile App Backend development
 
mobicon_paper
mobicon_papermobicon_paper
mobicon_paper
 
Website and it's importance
Website and it's importanceWebsite and it's importance
Website and it's importance
 
Technology for Teachers
Technology for TeachersTechnology for Teachers
Technology for Teachers
 
Web application presentation
Web application presentationWeb application presentation
Web application presentation
 

Mais de PrasannaKumarpanda2

neuralinterfacing-130331081952-phpapp01.pdf
neuralinterfacing-130331081952-phpapp01.pdfneuralinterfacing-130331081952-phpapp01.pdf
neuralinterfacing-130331081952-phpapp01.pdfPrasannaKumarpanda2
 
seminarpptfogcomp-170420185314.pptx
seminarpptfogcomp-170420185314.pptxseminarpptfogcomp-170420185314.pptx
seminarpptfogcomp-170420185314.pptxPrasannaKumarpanda2
 
sky-xpranav-140418121657-phpapp01.pptx
sky-xpranav-140418121657-phpapp01.pptxsky-xpranav-140418121657-phpapp01.pptx
sky-xpranav-140418121657-phpapp01.pptxPrasannaKumarpanda2
 
cyborgs-150208232058-conversion-gate01.pdf
cyborgs-150208232058-conversion-gate01.pdfcyborgs-150208232058-conversion-gate01.pdf
cyborgs-150208232058-conversion-gate01.pdfPrasannaKumarpanda2
 
cyberforensicsv2-191113184409.pptx
cyberforensicsv2-191113184409.pptxcyberforensicsv2-191113184409.pptx
cyberforensicsv2-191113184409.pptxPrasannaKumarpanda2
 
Future Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptxFuture Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptxPrasannaKumarpanda2
 
PowerBIReportServer_duryan_20170919.pptx
PowerBIReportServer_duryan_20170919.pptxPowerBIReportServer_duryan_20170919.pptx
PowerBIReportServer_duryan_20170919.pptxPrasannaKumarpanda2
 
3-JournalofCommunicationsVol.14No.2February2019.pdf
3-JournalofCommunicationsVol.14No.2February2019.pdf3-JournalofCommunicationsVol.14No.2February2019.pdf
3-JournalofCommunicationsVol.14No.2February2019.pdfPrasannaKumarpanda2
 
Future Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptxFuture Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptxPrasannaKumarpanda2
 

Mais de PrasannaKumarpanda2 (13)

neuralinterfacing-130331081952-phpapp01.pdf
neuralinterfacing-130331081952-phpapp01.pdfneuralinterfacing-130331081952-phpapp01.pdf
neuralinterfacing-130331081952-phpapp01.pdf
 
seminarpptfogcomp-170420185314.pptx
seminarpptfogcomp-170420185314.pptxseminarpptfogcomp-170420185314.pptx
seminarpptfogcomp-170420185314.pptx
 
Blue Eyes Technology RAMA.pptx
Blue Eyes Technology RAMA.pptxBlue Eyes Technology RAMA.pptx
Blue Eyes Technology RAMA.pptx
 
sky-xpranav-140418121657-phpapp01.pptx
sky-xpranav-140418121657-phpapp01.pptxsky-xpranav-140418121657-phpapp01.pptx
sky-xpranav-140418121657-phpapp01.pptx
 
nikhilvyas-130904132740-.pptx
nikhilvyas-130904132740-.pptxnikhilvyas-130904132740-.pptx
nikhilvyas-130904132740-.pptx
 
cyborgs-150208232058-conversion-gate01.pdf
cyborgs-150208232058-conversion-gate01.pdfcyborgs-150208232058-conversion-gate01.pdf
cyborgs-150208232058-conversion-gate01.pdf
 
nikhilvyas-130904132740-.pdf
nikhilvyas-130904132740-.pdfnikhilvyas-130904132740-.pdf
nikhilvyas-130904132740-.pdf
 
cyberforensicsv2-191113184409.pptx
cyberforensicsv2-191113184409.pptxcyberforensicsv2-191113184409.pptx
cyberforensicsv2-191113184409.pptx
 
Future Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptxFuture Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptx
 
TCS.pptx
TCS.pptxTCS.pptx
TCS.pptx
 
PowerBIReportServer_duryan_20170919.pptx
PowerBIReportServer_duryan_20170919.pptxPowerBIReportServer_duryan_20170919.pptx
PowerBIReportServer_duryan_20170919.pptx
 
3-JournalofCommunicationsVol.14No.2February2019.pdf
3-JournalofCommunicationsVol.14No.2February2019.pdf3-JournalofCommunicationsVol.14No.2February2019.pdf
3-JournalofCommunicationsVol.14No.2February2019.pdf
 
Future Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptxFuture Challenges in Computer Science.pptx
Future Challenges in Computer Science.pptx
 

Último

Your LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence PackageYour LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence PackageSocioCosmos
 
Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779
Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779
Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779Delhi Call girls
 
Improve Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing CompanyImprove Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing CompanyWSI INTERNET PARTNER
 
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCRStunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCRDelhi Call girls
 
Call Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking MenCall Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking MenSapana Sha
 
Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...
Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...
Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...anilsa9823
 
O9654467111 Call Girls In Dwarka Women Seeking Men
O9654467111 Call Girls In Dwarka Women Seeking MenO9654467111 Call Girls In Dwarka Women Seeking Men
O9654467111 Call Girls In Dwarka Women Seeking MenSapana Sha
 
SELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANYSELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANYdizinfo
 
Film show investigation powerpoint for the site
Film show investigation powerpoint for the siteFilm show investigation powerpoint for the site
Film show investigation powerpoint for the siteAshtonCains
 
Film the city investagation powerpoint :)
Film the city investagation powerpoint :)Film the city investagation powerpoint :)
Film the city investagation powerpoint :)AshtonCains
 
Top Call Girls In Charbagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
Top Call Girls In Charbagh ( Lucknow  ) 🔝 8923113531 🔝  Cash PaymentTop Call Girls In Charbagh ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment
Top Call Girls In Charbagh ( Lucknow ) 🔝 8923113531 🔝 Cash Paymentanilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖anilsa9823
 
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
Top Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash PaymentTop Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Paymentanilsa9823
 
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceVellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceDamini Dixit
 
Production diary Film the city powerpoint
Production diary Film the city powerpointProduction diary Film the city powerpoint
Production diary Film the city powerpointAshtonCains
 
Film show pre-production powerpoint for site
Film show pre-production powerpoint for siteFilm show pre-production powerpoint for site
Film show pre-production powerpoint for siteAshtonCains
 
This is a Powerpoint about research into the codes and conventions of a film ...
This is a Powerpoint about research into the codes and conventions of a film ...This is a Powerpoint about research into the codes and conventions of a film ...
This is a Powerpoint about research into the codes and conventions of a film ...samuelcoulson30
 

Último (20)

Your LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence PackageYour LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence Package
 
Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779
Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779
Night 7k Call Girls Pari Chowk Escorts Call Me: 8448380779
 
Improve Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing CompanyImprove Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing Company
 
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCRStunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
 
Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
 
Call Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking MenCall Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking Men
 
Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...
Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...
Lucknow 💋 Dating Call Girls Lucknow | Whatsapp No 8923113531 VIP Escorts Serv...
 
O9654467111 Call Girls In Dwarka Women Seeking Men
O9654467111 Call Girls In Dwarka Women Seeking MenO9654467111 Call Girls In Dwarka Women Seeking Men
O9654467111 Call Girls In Dwarka Women Seeking Men
 
SELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANYSELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANY
 
Film show investigation powerpoint for the site
Film show investigation powerpoint for the siteFilm show investigation powerpoint for the site
Film show investigation powerpoint for the site
 
🔝9953056974 🔝Call Girls In Mehrauli Escort Service Delhi NCR
🔝9953056974 🔝Call Girls In Mehrauli  Escort Service Delhi NCR🔝9953056974 🔝Call Girls In Mehrauli  Escort Service Delhi NCR
🔝9953056974 🔝Call Girls In Mehrauli Escort Service Delhi NCR
 
Film the city investagation powerpoint :)
Film the city investagation powerpoint :)Film the city investagation powerpoint :)
Film the city investagation powerpoint :)
 
Top Call Girls In Charbagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
Top Call Girls In Charbagh ( Lucknow  ) 🔝 8923113531 🔝  Cash PaymentTop Call Girls In Charbagh ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment
Top Call Girls In Charbagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
 
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖
 
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
Top Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash PaymentTop Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
 
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceVellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
 
Production diary Film the city powerpoint
Production diary Film the city powerpointProduction diary Film the city powerpoint
Production diary Film the city powerpoint
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Masudpur
Delhi  99530 vip 56974  Genuine Escort Service Call Girls in MasudpurDelhi  99530 vip 56974  Genuine Escort Service Call Girls in Masudpur
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Masudpur
 
Film show pre-production powerpoint for site
Film show pre-production powerpoint for siteFilm show pre-production powerpoint for site
Film show pre-production powerpoint for site
 
This is a Powerpoint about research into the codes and conventions of a film ...
This is a Powerpoint about research into the codes and conventions of a film ...This is a Powerpoint about research into the codes and conventions of a film ...
This is a Powerpoint about research into the codes and conventions of a film ...
 

facebookthrift-151001153400-lva1-app6891.pptx

  • 2.  Facebook is the “social networking “ People have been “facebooking” each other for about 7 years now, making Facebook the most used social network with over 500 million users worldwide.50% of our active users log on to Facebook in any given day Average user has 130 friends .People spend over 700 billion minutes per month on Facebook.There are over 900 million objects that people interact with (pages, groups, events and community pages). INTRODUCTION
  • 3.  Thrift is an interface definition language and binary communication protocol  It is used as a remote procedure call (RPC) framework and was developed at Facebook for "scalable cross-language services development".  It combines a software stack with a code generation engine to build services that work efficiently on C#, C++ , Java, Perl, PHP, Python, Ruby and Smalltalk.  it is now an open source project in the ApacheSoftware Foundation, now hosted onApache. THRIFT
  • 4.  Scribe (log server) is aserver for aggregating log data streamed in real-time from many other servers. Useful for logging a wide array of data. It is built on top of Thrift.  Cassandra is adatabase management system designed to handle large amounts of data spread out across many servers. It powers Facebook’s Inbox Search feature and provides a structured key-value store with eventual consistency.  HipHop for PHPis asource code transformer for PHPscript code and was created to save server resources. HipHop transforms PHPsource code into optimized C++.After doing this, it uses g++ to compile it to machine code. The BackEnd
  • 5.
  • 6.  The primary idea behind Thrift is that it consists of alanguage neutral stack which is implemented across various programming languages and an associated code generation engine which transforms asimple interface and data definition language into client and server remote procedure call libraries.  Thrift is designed to be assimple aspossible for the developers who can define all the necessarydata structures and interfaces for acomplex service in asingle short file.  This file is called asThrift Interface Definition Logic File or Thrift IDLFile.  The developers identified some important features while evaluating the technical challenges of cross language interactions in anetworked environment. Thrift DesignFeatures
  • 7.
  • 8.  Transport: Eachlanguage must have acommon interface to bidirectional raw data transport. Consider ascenario where there are 2servers in which, one is deployed in Java and the other one is deployed in Python. Soatypical service written in Java should be able to send the raw data from that service to acommon interface which will be understood by the other server which is running on Python and vice-versa. TheTransport Layer should be able to transport the raw data file across the two ends.The specifics about how this transport is implemented shouldn’t matter to the service developer. The same application code should be able to run against TCPStream Sockets, raw data in memory or files on disk.  Protocol: In order to transport the raw data, they have to be encoded into a particular format like binary, XMLetc. Therefore the Transport Layer uses some particular protocol to encode or decode the data. Again the application developer will not be bothered about this. He is only worried whether the data can be read or written in some deterministic manner. Types
  • 9.  Versioning: For the services to be robust they must evolve from their present version. They should incorporate new features and in order to do this the data types involved in the service should provide a mechanism to add or delete fields of an object or alter the arguments list of afunction without any interruption in service. This is calledVersioning.  Processors: Processors are the ones which process the data streams and accomplish Remote ProcedureCalls. Cont..
  • 10.  Thrift has been employed in alarge number of applications at Facebook, including search, logging, mobile, ads and the developer platform. Two specific usages are discussed below.  Search  logging Facebook ThriftServices
  • 11. Facebook serves 570 billion page views per month There are more photos on Facebook than all other photo sites combined More than 3 billion photos are uploaded every month. Facebook’s systems serve 1.2 million photos per second. More than 25 billion pieces of content (status updates, comments, etc) are shared every month. Facebook has more than 30,000 servers (and this number is from last year!) Facebook’s scaling challenge
  • 12.  Linux &Apache  PHP  Memcache  Haystack  BigPipe How Does Facebook Work?
  • 13. There are more than 20 billion uploaded photos on Facebook, and each one is saved in four different resolutions, resulting in more than 80 billion photos. And it’s not just about being able to handle billions of photos, performance is critical. Facebook serves around 1.2 million photos per second. Haystack is Facebook’s high-performance photo storage/retrieval system, a highly scalable object store used to serve Facebook’s immense amount of photos. Strictly speaking, Haystack is an object store, so it doesn’t necessarily have to store photos. Haystack stores photo data inside 10 GB bucket with 1 MB of metadata for every GB stored. Haystack
  • 14.  Pipelining web pages for high performance  BigPipe -dynamic web page serving system, Facebook has developed.  Facebook uses it to serve each web page in sections (called “pagelets”) for optimal performance.  BigPipe is a fundamental redesign of the dynamic web page serving system. The general idea is to pipeline pagelets through several execution stages inside web servers and browsers.  BigPipe breaks the page generation process into several stages  The first three stages are executed by the web server, and the last four stages are executed by the browser. BIGPIPE
  • 15.
  • 16.  Free & open source, high-performance, distributed memory object caching system  Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.  The system uses a client–server architecture. the clients populate this array and query it.  The servers keep the values in RAM; if a server runs out of RAM, it discards the oldest values.  Clients can read each other's cached data. MEMCACHE
  • 17.  Facebook has a system, Gatekeeper that lets run different code for different sets of users.  This lets Facebook do gradual releases of new features, activate certain features only for Facebook employees, etc.  Gatekeeper also lets Facebook do something called “dark launches”, which is to activate elements of acertain feature behind the scenes before it goes live Gradual releases and darklaunches
  • 18.  The Facebook Platform provides a set of APIs and tools which enable 3rd party developers to integrate with the "open graph“.  Graph API is the core of Facebook Platform, enabling developers to read and write data to Facebook Facebook Platform
  • 19.  The GraphAPI presents asimple, consistent view of the Facebook social graph, uniformly representing objects in the graph (e.g.,people, photos, events, and pages) and the connections between them (e.g., friend relationships, shared content, and phototags).  RestfulAPI for accessing data on the Facebook graph.  Every object in the social graph has a unique ID. You can access the properties of an object by requesting - https://graph.facebook.com/ID  Alternatively, people and pages with usernames can be accessed using their username asan ID.All responses are JSONobjects. The GraphAPI
  • 20.  FBMLis avariant-evolved subset of HTMLwith some elements removed.  It allows FacebookApplication developers to customize the "look and feel" of their applications, to alimited extent.  It is the specification of how to encode content so that Facebook's servers can read and publish it.  FBMLplays an important role in building applications. FBMLis used to tap in to various Facebook elements when building applications.  It operates alot like HTMLand it gives the ability to do various tasks with ease suchas: sending ausere-mail embedding flashvideo creating adashboard posting on awall Facebook Markup Language
  • 21.  Facebook also allows the use of regular HTMLtags, such as<a href=”#”></a>, which is used to generate ahyperlink. Facebook alsoallows the use of many more HTMLtags for building applications FBML
  • 22.  The new Messages interweaves your chats, texts and emails. It’s acentral place to control all of your private communication, both on and off Facebook.  Simply put, it can be a single inbox for all of your messages, no matter how you choose to send them.  A facebook.com EmailAddress  SMS FromFacebook  Chat History Facebook’s New Messages
  • 23.  Facebook Connect is a set of APIs from Facebook that enable Facebook members to log onto third-party websites, applications, mobile devices and gaming systems with their Facebook identity. Facebook Connect
  • 24.  Unlike other social networks like Friendster, MySpace, and Twitter – all of whom have run into serious scalability issues at different points during their growth. Facebook has been mostly reliable throughout its rise.  In actuality, Facebook uses JavaScript heavily, relies on their own in-house PHP wrapper called XHP, HipHop (which optimizes PHP), and many more technologies.  A lot of technologies have been developed by Facebookin-house to serve their own needs, for example Cassandra RELIABILITY
  • 25.  Thrift generates both the server and client interfaces for a given service, and in a consistent manner. Client calls will be more consistent  Related to above: Thrift's RPC-like behavior means that you get type safety  Thrift supports various protocols, not just HTTP. If you are dealing with large volumes of service calls, or have bandwidth requirements, the client/server can transparently switch to more efficient transports  Thrift is a mature piece of software; well tested and used. Advantages of Thrift:
  • 26.  Thrift is poorly documented.  It is more work to get started on the client side, when the clients are directly building the calling code. It's less work for the service owner if they are building libraries for clientsYet another dependency. Disadvantages: