Ngwa ntanetị buru ibu abịala ogologo oge n'ime iri afọ abụọ gara aga. Ihe ọhụrụ ndị a agbanweela echiche anyị gbasara mmepe ngwanrọ. Facebook, Instagram, na Twitter, dịka ọmụmaatụ, bụ usoro ikpo okwu nwere ike ibugharị.
Ekwesịrị ịrụ usoro ndị a iji jikwaa oke okporo ụzọ na data ebe ọ bụ na ọtụtụ ijeri mmadụ na-eji ha n'otu oge n'ụwa niile. Nke a bụ mgbe nhazi usoro abanye foto.
Usoro nke ịmepụta ihe owuwu ụlọ, interfaces, na data maka usoro nke na-emezu ụfọdụ njirisi mara dị ka nhazi usoro. Site na sistemu na-arụkọ ọrụ ọnụ na arụ ọrụ nke ọma, imewe sistemụ na-egbo ihe azụmahịa gị ma ọ bụ nzukọ gị chọrọ.
Ozugbo ụlọ ọrụ gị ma ọ bụ nzukọ gị ekpebiela njirisi ya, ị nwere ike ịmalite itinye ha n'ime usoro anụ ahụ nke na-emezu ihe ndị ahịa gị chọrọ.
Ma ị na-ahọrọ iji mmepe bespoke, ngwọta azụmahịa, ma ọ bụ ngwakọta nke abụọ ahụ, otu esi emepụta usoro gị ga-ekpebi otú ị ga-esi wuo ya.
Anyị ga-eleba anya nke ọma na nhazi usoro nke usoro iheomume Twitter na post a, zuru ezu na nkuzi. Ka anyị malite.
Kwụpụ 1: Depụta ihe eji eme ihe & ihe mgbochi
Jiri ikpe
- Onye ọrụ na-ebugote tweet.
- Ọrụ ahụ na-eziga ọkwa ntanye na ozi-e nye ndị na-eso ụzọ tweet.
- A na-elele usoro iheomume nke onye ọrụ (ọrụ sitere n'aka onye ọrụ)
- Onye ọrụ na-elele usoro iheomume nke ụlọ (ọrụ sitere n'aka ndị onye ọrụ na-eso)
- Onye ọrụ na-achọ isiokwu.
- Enwere ike ịnweta ọrụ a n'ezie.
Apụghị oke
- A na-eziga Tweets na Twitter Firehose na iyi ndị ọzọ site na iji ọrụ a.
- Ọrụ ahụ na-ewepụ tweet dabere na ntọala visibiliti nke onye ọrụ.
- Ọ bụrụ na onye ọrụ anaghị eso onye a zara ya, zoo azịza ya.
- Lelee nhọrọ 'zoo retweets'.
- Analytics
Mgbochi & echiche
Echiche steeti
- A naghị agbasasị okporo ụzọ ahụ otu.
- Ọ ga-adị mfe izipu tweet.
- Ọ gwụla ma ị nwere ọtụtụ nde ndị na-eso ụzọ, izipu tweet na ndị na-eso ụzọ gị niile kwesịrị ịdị ngwa.
- Enwere 100 nde ndị ọrụ na-arụ ọrụ.
- 15 ijeri tweet kwa ọnwa ma ọ bụ 500 nde tweet kwa ụbọchị
- Tweet ọ bụla nwere ihe ngosi nke nnyefe 10 na nkezi.
- Kwa ụbọchị, fanout na-ewepụta tweet ijeri 5.
- Fanout na-ewepụta tweet ijeri 150 kwa ọnwa.
- Ijeri 250 na-agụ arịrịọ kwa ọnwa
- Ijeri iri na-achọ ihe kwa ọnwa
usoro iheomume
- Usoro iheomume kwesịrị ịdị mfe ịnyagharịa.
- Twitter bụ ihe gbasara ịgụ karịa ide.
- Hazie maka ịgụ tweet ngwa ngwa
- Oriri Tweet na-ewe oge.
ọchụchọ
- Usoro ọchụchọ kwesịrị ịdị ngwa.
- Ọ na-ewe oge ịchọ.
Gbakọọ ojiji
Nha tweet ọ bụla:
- 8 bytes tweet id
- 32 bytes onye ọrụ-ID
- 140 bytes nke ederede
- mgbasa ozi - nkezi nke 10 KB
- Ngụkọta: ~ 10 KB
Kwa ọnwa, a na-emepụta 150 TB nke ọdịnaya tweet ọhụrụ.
- * 500 nde tweet kwa ụbọchị * ụbọchị 30 kwa ọnwa * 10 KB kwa tweet
- N'ime afọ atọ, enwere 5.4 PB nke ọdịnaya tweet ọhụrụ.
Enwere arịrịọ ọgụgụ 100,000 kwa nkeji.
- * (Arịrịọ 400 kwa nkeji / 1 ijeri arịrịọ kwa ọnwa) ijeri 250 na-agụ arịrịọ kwa ọnwa
Enwere tweet 6,000 kwa nkeji.
- * (Arịrịọ 400 kwa nkeji / 1 ijeri arịrịọ kwa ọnwa) ijeri tweet 15 kwa ọnwa
Na fanout, 60 puku tweet na-eziga kwa sekọnd ọ bụla.
- Fanout na-ebuga tweet ijeri 150 kwa ọnwa * (arịrịọ 400 kwa sekọnd / arịrịọ ijeri 1 kwa ọnwa).
Arịrịọ 4,000 maka ozi kwa sekọnd ọ bụla
- * (Arịrịọ 400 kwa nkeji / 1 ijeri arịrịọ kwa ọnwa) ijeri 10 na-achọ kwa ọnwa
Ntugharị ụfọdụ bara uru
- Kwa ọnwa, sekọnd 2.5 na-agafe.
- Arịrịọ nde 2.5 kwa ọnwa na arịrịọ 1 kwa sekọnd
- 100 nde arịrịọ kwa ọnwa x 40 arịrịọ kwa sekọnd
- Arịrịọ ijeri 1 kwa ọnwa = arịrịọ 400 kwa nkeji
Nzọụkwụ 2: Eserese dị elu
Kwụpụ 3: Na-akọwa ihe ndị bụ isi
Anyị nwere ike chekwaa tweet nke onye ọrụ iji mejupụta usoro iheomume onye ọrụ (ọrụ sitere n'aka onye ọrụ) na nchekwa data mmekọrịta ma ọ bụrụ na ha nyefee tweet. Ọ na-esiri ike ịnye tweet na ịmepụta usoro iheomume nke ụlọ (ọrụ sitere n'aka ndị mmadụ n'otu n'otu na-esote).
Otu nchekwa data nwere mmekọrịta ga-ejupụta site n'iwepụ tweet na ndị na-eso ụzọ niile ( puku tweets 60 ewepụtara kwa sekọnd). Anyị ga-achọ iji nchekwa data na-ede ngwa ngwa dị ka nchekwa data NoSQL ma ọ bụ ebe nchekwa ebe nchekwa.
Ịgụ 1 MB n'usoro site na ebe nchekwa na-ewe ihe dị ka 250 microseconds, mana ịgụ ihe site na SSD na-ewe oge 4, na ịgụ na diski na-ewe oge 80.
Enwere ike iji ụlọ ahịa ihe chekwaa data dịka onyonyo na vidiyo.
- Sava webụ, nke na-eme dị ka onye nnọchi anya, na-enweta tweet sitere na onye ahịa.
- A na-ezigara arịrịọ a na ihe nkesa Dee API site na sava Weebụ.
- API Write na-echekwa tweet na nchekwa data SQL na usoro iheomume nke onye ọrụ.
A na-akpọtụrụ Ọrụ Fan-Out site na Write API, ọ na-arụkwa ọrụ ndị a.
- Chọta ndị na-eso ụzọ onye ọrụ na cache ebe nchekwa site n'ịjụ ọrụ eserese nke onye ọrụ.
- Na cache ebe nchekwa, a na-echekwa tweet na usoro iheomume nke ụlọ nke ndị na-eso ụzọ onye ọrụ.
- Ndị na-eso 1,000 = 1,000 nlele na ntinye = ọrụ O(n).
- A na-echekwa tweet na Ọrụ Index Index maka ịchọ ngwa ngwa.
- A na-eji Ụlọ Ahịa Ihe echekwa mgbasa ozi.
- Na-eziga ọkwa ntanye ndị na-eso ụzọ site na ọrụ ngosi.
- Iji zipu ọkwa n'otu oge, ọ na-eji Queue.
Anyị nwere ike jiri ndepụta Redis nke ala nwere usoro a ma ọ bụrụ na Cache ebe nchekwa anyị bụ Redis:
A ga-eji tweet ọhụrụ emelite usoro iheomume nke onye ọrụ, nke a ga-echekwa na cache ebe nchekwa. Anyị ga-eji API ọha REST ndị a:
Onye ọrụ na-elele usoro iheomume nke onye ọrụ.
- Sava webụ ahụ na-enweta arịrịọ usoro iheomume nke onye ọrụ site n'aka onye ahịa.
- A na-ezigara arịrịọ a na sava Gụọ API site na sava Weebụ.
- API Gụọ na-ajụ ajụjụ data SQL maka oge onye ọrụ.
API REST ga-arụ ọrụ n'otu aka ahụ na usoro iheomume nke ụlọ, ewezuga na tweet niile ga-esi na onye ọrụ pụta karịa ndị ha na-eso.
Onye ọrụ na-achọ isi okwu:
- Ihe nkesa Weebụ na-enweta arịrịọ ọchụchọ site n'aka onye ahịa.
- A na-ezigara arịrịọ a na sava API Chọọ site na sava Weebụ.
Nzọụkwụ 4: usoro iheomume Twitter
Ịmepụta usoro iheomume bụ ọrụ siri ike. Ihe nkesa na-emepụta usoro iheomume na-ejikọta na webụ ma ọ bụ ihe nkesa ngwa ka achọrọ.
Oge ọ bụla onye ọrụ batara, ọrụ usoro iheomume na-edobe usoro tweet ọhụrụ kachasị ọhụrụ sitere na ndị ọrụ na tebụl onye na-eso ya ma na-emelite ma ọ bụ na-eme ka usoro iheomume nke onye ọrụ nweta ume.
Anyị anaghị emejuputa ụdị ọkwa ọ bụla ebe a; kama, anyị na-eche na n'elu 5 tweets si na onye na-eso ụzọ ka ewepụtara na usoro iheomume n'usoro nke kere oge. Anyị nwere ike idowe mbepụ ume ọhụrụ 50-tweet. Anyị ka na-akwụsị na-enye ume ọhụrụ ma ọ bụ na-arụ usoro iheomume mgbe agafechara oke ahụ ruo mgbe onye ọrụ megharịrị ibe ahụ.
Nnukwu latency na nchegbu ịrụ ọrụ ga-abịa site na imepụta nri onye ọrụ dị ndụ. Kama, ịmepụta iyi na-anọghị n'ịntanetị nke enwere ike igosi ozugbo bụ ụzọ kacha mma isi melite arụmọrụ. Gbaa sava usoro iheomume raara onwe ya nye na ping ihe nkesa ngwa mgbe niile iji mee ka nri dị ọhụrụ dabere n'oge emepụtara ya.
Algọridim ogo ogo kwesịrị iburu n'uche akara ngosi dị oke mkpa ma nye ibu iji kwe nkwa na usoro iheomume nke onye ọrụ abụghị ihe sitere na otu ma ọ bụ karịa n'ime akaụntụ ndị ha na-eso.
Kpọmkwem, anyị nwere ike họrọ atụmatụ metụtara mkpa nke ihe ọ bụla ndepụta, dị ka ọnụ ọgụgụ nke mmasị, kwuru, òkè na oge mmelite. Ekwesịrị iji nke ọ bụla n'ime njirisi ndị a tụọ tweet, mgbe ahụ, ekwesịrị iji ọkwa ahụ gosi tweet na usoro iheomume.
Ànyị kwesịrị ịdọrọ ndị ọrụ aka mgbe ọ bụla ọdịnaya ọhụrụ maka ndepụta akụkọ ha dị? Ndị ọrụ nwere ike ịhụ na ọ bara uru ịdọ aka ná ntị mgbe data ọhụrụ dị. Na ngwaọrụ mkpanaka, Otú ọ dị, mgbe ojiji data dị oke ọnụ, ọ nwere ike imebi bandwidth.
N'ihi ya, anyị nwere ike ịhọrọ ịghara ịkwanye data na ngwaọrụ mkpanaka kama hapụ ndị ọrụ ka ha "dịrị ka ha nweta ume" maka mbipụta ọhụrụ.
Kwụpụ 5: Nhazi nhazi
Ihe nwere ike ime bụ Fanout Service. Ndị ọrụ Twitter nwere nde ndị na-eso ụzọ ga-echere ọtụtụ nkeji ka tweet ha ga-apụta. Nke a nwere ike ibute agbụrụ na nzaghachi tweet, nke anyị nwere ike izere site na ịtụgharị tweets n'oge ọrụ.
Anyị nwekwara ike igbochi ịgbasa tweet site na ndị nwere ọnụ ọgụgụ buru ibu nke ndị na-eso ụzọ. Kama, anyị nwere ike ịchọ tweet sitere n'aka ndị na-eso ya nke ukwuu, jikọta nsonaazụ ọchụchọ na nsonaazụ usoro iheomume nke ụlọ onye ọrụ, wee degharịa tweet ahụ n'oge ọrụ.
Nkwalite agbakwunyere gụnyere:
- Debe naanị tweet narị ole na ole na ebe nchekwa ebe nchekwa maka usoro iheomume nke ụlọ ọ bụla.
- Na cache ebe nchekwa, naanị ozi usoro iheomume nke ndị ọrụ nọ n'ọrụ ka echekwara.
- Anyị nwere ike wughachi usoro iheomume site na ọdụ data SQL ma ọ bụrụ na onye ọrụ arụbeghị ọrụ n'ime ụbọchị 30 gara aga.
- Iji chọpụta onye ọrụ bụ, jiri ọrụ eserese onye ọrụ.
- Tinye tweet na cache ebe nchekwa site na iweghachite ha na ọdụ data SQL.
- Ọrụ Ozi Tweet nwere ike ịchekwa naanị tweet uru otu ọnwa.
- N'ime Ọrụ Ozi Onye ọrụ, ọ bụ naanị ndị ọrụ nọ n'ọrụ ka echekwara.
- Iji mee ka ọ dị ntakịrị, Cluster Ọchụchọ ga-adị mkpa idowe tweet na ebe nchekwa.
mmechi
Ọ bụ ezie na Twitter bụ nnukwu nzukọ, ọ nwere nke ka mma nghọta nke nhazi usoro. Emere m ike m iji nye gị nkọwapụta ọkwa dị elu nke usoro iheomume Twitter.
Enwere m olileanya na ị nwetara ozi bara uru na ya ma nwee ike iji ya mee ihe nke ọma.
Nkume a-aza