O talosaga tetele i luga o le initaneti ua oʻo mai i se auala umi i le luasefulu tausaga talu ai. O nei mea fou ua suia ai o matou manatu i le atinaʻeina o polokalama. Facebook, Instagram, ma Twitter, mo se faʻataʻitaʻiga, o faʻasalalauga uma ia.
O nei faiga e tatau ona fausia e pulea ai le tele o voluma o fefaʻatauaiga ma faʻamaumauga talu mai le faitau piliona o tagata latou te faʻaaogaina i le taimi e tasi i le lalolagi atoa. O le taimi lea mamanu faiga ulufale i le ata.
O le faʻagasologa o le faʻavaeina o le fausaga, fesoʻotaʻiga, ma faʻamaumauga mo se faiga e fetaui ma tulaga faʻapitoa e taʻua o le mamanu faiga. E ala i faiga tu'ufa'atasi ma lelei, e fa'amalieina ai mana'oga o lau pisinisi po'o lau fa'alapotopotoga.
A mae'a loa ona fa'amauina e lau kamupani po'o le fa'alapotopotoga ana ta'iala, e mafai ona e amata tu'ufa'atasia i totonu o se mamanu fa'aletino e fetaui ma mana'oga o au tagata fa'atau.
Pe e te filifili e alu i le atinaʻe faʻapitoa, fofo faʻapisinisi, poʻo le tuʻufaʻatasia o ia mea e lua, o le auala e te mamanuina ai lau masini e iloa ai pe faʻapefea ona e fausia.
O le a matou vaʻavaʻai auʻiliʻili i le mamanu o le Twitter timeline i lenei pou, faʻamaeʻaina ma se aʻoaʻoga. Tatou amata.
Laasaga 1: Fa'amatala le fa'aoga ma fa'agata
Fa'aoga pusa
- E fa'apipi'i e se tagata fa'aoga se tweet.
- O le 'auʻaunaga e tuʻuina atu faʻasalalauga faʻasalalauga ma imeli i tagata mulimuli o tweets.
- O lo'o va'aia le fa'asologa o taimi a le tagata fa'aoga (gaioiga mai le tagata fa'aoga)
- E va'ai le tagata fa'aoga ile taimi ole fale (gaioiga mai tagata o lo'o mulimulita'ia e le tagata fa'aoga)
- O upu autu e su'e e le tagata fa'aoga.
- O le auaunaga e matua faigofie lava ona maua.
E le'o iai le lautele
- Tweets e lafo i le Twitter Firehose ma isi vaitafe e faʻaaoga ai lenei auaunaga.
- O le 'auʻaunaga e aveese tweets e faʻavae i luga o tulaga faʻaalia o le tagata faʻaoga.
- Afai e le o mulimuli atu le tagata fa'aoga i le tagata e tali atu i ai, nana le tali.
- Mata'ituina le filifiliga 'natia retweets'.
- Analytics
Fa'agata & manatu
Manatu a le Setete
- E le taape tutusa le ta'avale.
- E tatau ona faigofie le lafoina o se tweet.
- Sei vagana ua i ai lau faitau miliona o tagata mulimuli, o le lafoina o se tweet i au soo uma e tatau ona vave.
- E 100 miliona tagata fa'aoga malosi.
- 15 piliona tweets i masina taʻitasi poʻo 500 miliona tweets i aso uma
- O tweet ta'itasi o lo'o i ai se fanoout o le 10 fa'asalalauga i le averesi.
- O aso uma lava, e avatu ai e fanout le 5 piliona tweets.
- Fanout e tuʻuina atu le 150 piliona tweets i masina uma.
- 250 piliona talosaga faitau masina
- 10 piliona su'esu'ega masina
taimi faatulagaina
- Ole fa'asologa ole taimi e tatau ona faigofie ona fa'atautaia.
- Twitter e sili atu le faitau nai lo le tusitusi.
- Fa'alelei mo le faitau vave tweet
- O le faʻaaogaina o tweet e alu ai le taimi.
Saili
- E tatau ona vave le faiga o sailiga.
- E alu le taimi e su'e ai.
Fa'atatau le fa'aoga
Tele o tweet taitasi:
- 8 paita tweet id
- 32 paita user-id
- 140 paita o tusitusiga
- ala o faasalalauga – averesi o le 10 KB
- Aotele: ~10 KB
O masina uma, 150 TB o mea fou tweet e gaosia.
- * 500 miliona tweets i aso uma * 30 aso i le masina * 10 KB i tweet
- I le tolu tausaga, ua i ai le 5.4 PB o mea fou tweet.
E 100,000 talosaga faitau i sekone ta'itasi.
- * (400 talosaga i le sekone / 1 piliona talosaga i le masina) 250 piliona talosaga faitau i masina taʻitasi
E 6,000 tweets i sekone taʻitasi.
- * (400 talosaga i le sekone / 1 piliona talosaga i le masina) 15 piliona tweets i masina uma
I fanout, 60 afe tweets e lafo i sekone taʻitasi.
- Fanout e tuʻuina atu le 150 piliona tweets i masina taʻitasi * (400 talosaga ile sekone / 1 piliona talosaga ile masina).
4,000 talosaga mo faʻamatalaga i sekone taʻitasi
- * (400 talosaga i le sekone / 1 piliona talosaga i le masina) 10 piliona suʻesuʻega i masina taʻitasi
O nisi liua aoga
- O masina uma, e 2.5 miliona sekone e pasi.
- 2.5 miliona talosaga ile masina ile 1 ole talosaga ile sekone
- 100 miliona talosaga ile masina x 40 talosaga ile sekone
- 1 piliona talosaga ile masina = 400 talosaga ile sekone
Laasaga 2: Ata maualuga maualuga
Laasaga 3: Faʻamatalaina vaega autu
E mafai ona matou faʻasaoina tweets a le tagata faʻaoga e faʻatumu ai le taimi faʻaoga (gaoioiga mai le tagata faʻaoga) i totonu o se faʻamaumauga fesoʻotaʻiga pe a latou tuʻuina atu se tweet. E sili atu ona faigata le tuʻuina atu o tweets ma atiaʻe le timeline ile fale (gaioiga mai tagata taʻitoʻatasi e mulimuli ai le tagata faʻaoga).
O se faʻamaumauga masani faʻamaumauga o le a lofituina e ala i le faʻasalalau atu o tweets i tagata mulimuli uma (60 afe tweets na tuʻuina atu i sekone taʻitasi). Atonu o le a tatou mananaʻo e alu faʻatasi ma se teuina faʻamaumauga vave e pei o se NoSQL database poʻo Memory Cache.
O le faitau faasolosolo mai le 1 MB mai le manatua e tusa ma le 250 microseconds, ae o le faitau mai le SSD e 4 taimi le umi, ma le faitau mai le disk e 80 taimi le umi.
E mafai ona fa'aoga se Faleoloa Fa'atatau e teu ai fa'amaumauga e pei o ata ma vitiō.
- O le Upega Tafaʻilagi, o loʻo galue o se sui sui, maua se tweet mai le Client.
- O le talosaga e lafo i le Tusitala API server e le Web Server.
- Le Tusi Tusi API fa'asaoina le tweet i se database SQL i le taimi fa'aoga a le tagata.
E fa'afeso'ota'ia e le Tusitala API le Au'aunaga Fan-Out, ma fa'atino galuega nei.
- Su'e le au fa'aoga i le Memory Cache e ala i le fesiligia o le Auaunaga Graph User.
- I luga o le Memory Cache, o le tweet o loʻo faʻasaoina i le taimi o le fale o le au faʻaoga.
- 1,000 soo = 1,000 su'e ma fa'aofi = O(n) fa'agaioiga.
- O le tweet o loʻo faʻasaoina i le Search Index Service mo suʻesuʻega vave.
- O le Object Store e fa'aoga e teu ai fa'asalalauga.
- Auina atu fa'aliga fa'atosina i tagata mulimuli e ala i le Auaunaga Fa'asilasilaga.
- Ina ia lafo atu fa'alilolilo asynchronously, e fa'aogaina le Queue.
E mafai ona matou faʻaogaina se lisi masani a Redis faʻatasi ma le fausaga o loʻo i lalo pe a fai o le matou Memory Cache o Redis:
Ole taimi ole fale ole a fa'afouina ile tweet fou, lea ole a teuina ile Memory Cache. Matou te fa'aogaina le REST API lautele nei:
O le taimi fa'aoga e va'aia e le tagata fa'aoga.
- E maua e le Upega Tafa'ilagi se talosaga fa'asologa o taimi mai le Client.
- O le talosaga e lafo i le Read API server e le Web Server.
- E fesiligia e le Read API le SQL Database mo le taimi fa'aoga.
O le REST API o le a galue tutusa ma le taimi o le fale, sei vagana ai tweets uma e afua mai i le tagata faʻaoga nai lo tagata latou te mulimuli ai.
E su'e e se tagata fa'aoga upu autu:
- E maua e le Web Server se talosaga su'esu'e mai le Client.
- O le talosaga e lafo i le Search API server e le Web Server.
Laasaga 4: Twitter timeline
Ole fa'atulagaina ole taimi ole galuega faigata. E mana'omia se 'au'aunaga fa'atupu fa'asologa o taimi e feso'ota'i i le upegatafa'ilagi po'o sau talosaga.
O taimi uma lava e saini ai se tagata fa'aoga, e fa'amauina e le 'au'aunaga fa'asologa o taimi o tweets fou mai tagata fa'aoga i le laulau a le tagata mulimuli ma fa'afou pe toe fa'afouina le fa'asologa o taimi.
Matou te le fa'atinoina so'o se faiga fa'avasegaina iinei; nai lo lena, matou te manatu o le pito i luga 5 tweets mai le au faʻaoga o loʻo tuʻuina atu i le taimi faʻatulagaina i le faasologa o le taimi o le foafoaga. E mafai ona matou faʻatumauina le 50-tweet refresh cutoff. Matou te fa'amutaina lava le fa'afouina po'o le fauina o se fa'asologa o taimi pe a uma ona o'o i le fa'ailoga se'ia toe fa'afouina e le tagata fa'aoga le itulau.
O popolega maualuga ma fa'atinoga o le a sau mai le fa'atinoina o mea'ai a tagata fa'aoga ola. Nai lo lena, o le fatuina o se vaitafe tuusao e mafai ona tuʻuina vave atu o le auala sili lea e faʻaleleia ai le faʻatinoga. Fa'ata'ita'i 'au'aunaga tu'ufa'atasi taimi e fa'apipi'i ai le server o talosaga i taimi uma e fa'afou ai le fafaga e fa'atatau i le taimi na faia ai.
Ole fa'avasegaga algorithm e tatau ona mafaufau i fa'ailoga taua ma tu'u le mamafa e fa'amautinoa ai ole fa'asologa ole taimi ole tagata fa'aoga e le pulea e mea mai se tasi pe sili atu o tala latou te mulimuli ai.
E sili atu le saʻo, e mafai ona tatou filifilia foliga e fesoʻotaʻi ma le talafeagai o soʻo se mea fafaga, e pei o le numera o mea e fiafia i ai, faʻamatalaga, sea, ma le taimi faʻafouina. O nei taʻiala taʻitasi e tatau ona faʻaoga e fua ai le tweet, ona faʻaaoga lea o lena tulaga e faʻaalia ai tweets i luga ole taimi.
E tatau ona tatou fa'ailoa i taimi uma tagata fa'aoga pe a maua mea fou mo a latou talafou? E mafai e tagata fa'aoga ona maua le aoga o le mataala pe a maua fa'amatalaga fou. I luga o masini feaveaʻi, peitaʻi, a faʻaaogaina faʻamatalaga e taugata tele, e mafai ona faʻaumatia le bandwidth.
O se taunuuga, e mafai ona tatou filifili e aua le tuleia faʻamatalaga i masini feaveaʻi ae faʻatagaina tagata faʻaoga e "Toso e Faʻafouina" mo faʻasalalauga fou.
Laasaga 5: Fuafuaga fa'afuainumera
O se fa'alavelave fa'aletonu o le Fanout Service. Twitter tagata faʻaoga ma le faitau miliona o tagata mulimuli e tatau ona faʻatali mo ni nai minute mo a latou tweets e taʻavale. E ono mafua ai se tuuga ma tali i le tweet, lea e mafai ona tatou aloese mai le toe faʻatonuina o tweets i le taimi o le tautua.
E mafai foʻi ona tatou taofia le faʻasalalauina o tweets mai tagata e toʻatele tagata mulimuli. Nai lo lena, e mafai ona matou faia se sailiga mo tweets mai tagata e sili ona mulimulitaʻia, faʻapipiʻi faʻaiʻuga suʻesuʻe ma faʻaiʻuga o taimi ole fale a le tagata faʻaoga, ona toe faʻatulagaina lea o tweets i le taimi o le tautua.
O fa'aopoopoga fa'aopoopo e aofia ai:
- Taofi na'o ni nai selau tweets i le Memory Cache mo taimi ta'itasi fale.
- I le Memory Cache, e na'o fa'amatalaga fa'asologa o fale a tagata fa'agaioiga e fa'asaoina.
- E mafai ona matou toe fausia le faasologa mai le SQL Database pe afai e le'i toaga se tagata fa'aoga i le 30 aso na muamua atu.
- Ina ia su'e po'o ai le tagata fa'aoga, fa'aoga le Auaunaga Graph User.
- Faʻaopoopo tweets i le Memory Cache e ala i le toe aumai mai le SQL Database.
- Le Tweet Info Service e mafai ona fa'asaoina na'o le masina o tweets.
- I le Au'aunaga Fa'amatalaga Fa'aaogā, e na'o tagata fa'agaioiga e fa'asaoina.
- Ina ia fa'amaualalo le leo, e mana'omia e le Vaega Su'esu'e le fa'amautu o tweets i le manatua.
iʻuga
E ui o Twitter o se faʻalapotopotoga tele, e sili atu malamalama i le mamanu faiga. Na ou faia le mea sili ou te mafaia e avatu ai ia te oe se vaaiga maualuga maualuga o le Twitter timeline.
Ou te faʻamoemoe na e mauaina faʻamatalaga aoga mai ai ma mafai ona faʻaaoga lelei.
Tuua se tali