Ntchito zazikulu zapaintaneti zafika patali kwambiri zaka makumi awiri zapitazi. Zatsopanozi zasintha malingaliro athu pakupanga mapulogalamu. Facebook, Instagram, ndi Twitter, mwachitsanzo, onse ndi nsanja zowopsa.
Makinawa amayenera kupangidwa kuti azitha kuyang'anira kuchuluka kwa magalimoto ndi zidziwitso popeza mabiliyoni ambiri amazigwiritsa ntchito nthawi imodzi padziko lonse lapansi. Iyi ndi nthawi dongosolo dongosolo akulowa m'chithunzichi.
Njira yokhazikitsira zomanga, zolumikizirana, ndi data pamakina omwe amakwaniritsa zofunikira zina amadziwika kuti kamangidwe kadongosolo. Kupyolera mu machitidwe ogwirizana komanso ogwira mtima, mapangidwe adongosolo amakwaniritsa zofuna za bizinesi kapena bungwe lanu.
Kampani yanu kapena bungwe lanu likatsimikiza zoyenera kuchita, mutha kuyamba kuziphatikiza mudongosolo ladongosolo lomwe limakwaniritsa zofuna za ogula.
Kaya mumasankha kupita ndi chitukuko cha bespoke, zothetsera malonda, kapena kuphatikiza ziwirizi, momwe mumapangira dongosolo lanu zidzatsimikizira momwe mumapangira.
Tiwona mwatsatanetsatane kapangidwe kake ka nthawi ya Twitter mu positi iyi, yomaliza ndi phunziro. Tiyeni tiyambe.
Khwerero 1: Fotokozerani momwe mungagwiritsire ntchito ndi zopinga
Gwiritsani ntchito
- Wogwiritsa amatsitsa tweet.
- Ntchitoyi imatumiza zidziwitso zokankhira ndi maimelo kwa otsatira ma tweets.
- Mndandanda wanthawi ya wogwiritsa umawonedwa (zochita kuchokera kwa wogwiritsa ntchito)
- Wogwiritsa amayang'ana nthawi yakunyumba (zochita kuchokera kwa anthu omwe akuwatsatira)
- Mawu osakira amafufuzidwa ndi wogwiritsa ntchito.
- Ntchitoyi ikupezekadi.
Zakunja
- Ma Tweets amatumizidwa ku Twitter Firehose ndi mitsinje ina pogwiritsa ntchito ntchitoyi.
- Ntchitoyi imachotsa ma tweets kutengera mawonekedwe a wogwiritsa ntchito.
- Ngati wogwiritsa ntchito sakutsatiranso munthu amene akuyankhidwa, bisani yankho.
- Yang'anani njira ya 'bisala retweets'.
- Zosintha
Zoletsa & zongoganizira
Malingaliro a Boma
- Magalimoto samamwazikana mofanana.
- Ziyenera kukhala zosavuta kutumiza tweet.
- Pokhapokha mutakhala ndi otsatira mamiliyoni ambiri, kutumiza tweet kwa otsatira anu onse kuyenera kukhala kofulumira.
- Pali ogwiritsa ntchito 100 miliyoni.
- Ma tweets 15 biliyoni mwezi uliwonse kapena ma tweet 500 miliyoni tsiku lililonse
- Tweet iliyonse imakhala ndi fanout yotumiza 10 pafupifupi.
- Tsiku lililonse, fanout amapereka ma tweets 5 biliyoni.
- Fanout imapereka ma tweets 150 biliyoni mwezi uliwonse.
- 250 biliyoni zopempha zowerengedwa pamwezi
- Zosaka mabiliyoni 10 pamwezi
Nthawi
- Nthawi yoyendera iyenera kukhala yosavuta kuyendamo.
- Twitter imakonda kuwerenga kuposa kulemba.
- Konzani kuti muwerenge ma tweet mwachangu
- Kugwiritsa ntchito ma tweet ndi nthawi yambiri.
Search
- Kusaka kuyenera kukhala kofulumira.
- Zimatenga nthawi kufufuza.
Werengani ntchito
Kukula kwa tweet iliyonse:
- 8 bytes tweet id
- 32 bytes wosuta-id
- 140 byte ya mawu
- media - pafupifupi 10 KB
- Chiwerengero chonse: ~ 10 KB
Mwezi uliwonse, 150 TB ya zatsopano za tweet imapangidwa.
- * Ma tweets 500 miliyoni tsiku lililonse * masiku 30 pamwezi * 10 KB pa tweet iliyonse
- M'zaka zitatu, pakhala 5.4 PB ya zatsopano za tweet.
Pali zopempha zowerengedwa 100,000 sekondi iliyonse.
- * (zopempha 400 pa sekondi iliyonse / zopempha 1 biliyoni pamwezi) 250 biliyoni amawerenga zopempha mwezi uliwonse
Pali ma tweets 6,000 sekondi iliyonse.
- * (zopempha 400 pa sekondi iliyonse / zopempha 1 biliyoni pamwezi) ma tweets 15 biliyoni mwezi uliwonse
Pa fanout, ma tweets 60 amatumizidwa sekondi iliyonse.
- Fanout amapereka ma tweets 150 biliyoni mwezi uliwonse * (zopempha 400 pa sekondi iliyonse / zopempha 1 biliyoni pamwezi).
4,000 zopempha zambiri sekondi iliyonse
- * (zopempha 400 pa sekondi iliyonse / zopempha 1 biliyoni pamwezi) kusaka mabiliyoni 10 mwezi uliwonse
Ena zothandiza kutembenuka
- Mwezi uliwonse, masekondi 2.5 miliyoni amadutsa.
- Zopempha 2.5 miliyoni pamwezi pa pempho limodzi pamphindikati
- Zopempha 100 miliyoni pamwezi x zopempha 40 pa sekondi iliyonse
- Zopempha 1 biliyoni pamwezi = zopempha 400 pamphindikati
Gawo 2: Chithunzi chapamwamba
Gawo 3: Kufotokozera zigawo zikuluzikulu
Titha kusunga ma tweets a wogwiritsa ntchito kuti akwaniritse nthawi ya wogwiritsa ntchito (zochita kuchokera kwa wogwiritsa ntchito) mu nkhokwe yolumikizana ngati apereka tweet. Ndizovuta kwambiri kupereka ma tweets ndikukhazikitsa nthawi yakunyumba (zochita kuchokera kwa anthu omwe amatsatira).
Dongosolo lachiyanjano lodziwika bwino limatha kutanganidwa ndikutulutsa ma tweets kwa otsatira onse (ma tweets 60 zikwizikwi amaperekedwa sekondi iliyonse). Tidzafuna kupita ndi zosungirako zolembera mwachangu ngati NoSQL database kapena Memory Cache.
Kuwerenga 1 MB motsatizana kuchokera pamtima kumatenga pafupifupi ma microseconds 250, koma kuwerenga kuchokera ku SSD kumatenga nthawi 4, ndipo kuwerenga kuchokera pa disk kumatenga nthawi 80.
Malo Osungira Zinthu angagwiritsidwe ntchito kusunga deta monga zithunzi ndi makanema.
- Web Server, yomwe ikugwira ntchito ngati woyimira kumbuyo, imalandira tweet kuchokera kwa kasitomala.
- Pempholi litumizidwa ku seva ya Write API ndi Web Server.
- Lembani API imasunga tweet ku nkhokwe ya SQL pamndandanda wanthawi ya wogwiritsa ntchito.
The Fan-Out Service imalumikizidwa ndi Write API, ndipo imagwira ntchito zotsatirazi.
- Imapeza otsatira a ogwiritsa ntchito mu Cache ya Memory pofunsa User Graph Service.
- Pa Memory Cache, tweet imasungidwa pamndandanda wanthawi yapanyumba wa otsatira ogwiritsa ntchito.
- Otsatira a 1,000 = 1,000 lookups ndi kuika = O (n) ntchito.
- Titter imasungidwa mu Search Index Service kuti mufufuze mwachangu.
- The Object Store imagwiritsidwa ntchito kusunga media.
- Imatumiza zidziwitso zokankhira kwa otsatira kudzera pa Notification Service.
- Kutumiza zidziwitso mwachisawawa, imagwiritsa ntchito Queue.
Titha kugwiritsa ntchito mndandanda wamtundu wa Redis wokhala ndi zotsatirazi ngati Memory Cache yathu ili Redis:
Mndandanda wanthawi yakunyumba kwa wogwiritsa ntchito ukasinthidwa ndi tweet yatsopano, yomwe ikasungidwa mu Memory Cache. Tigwiritsa ntchito REST API iyi:
Nthawi yogwiritsira ntchito imawonedwa ndi wogwiritsa ntchito.
- Web Server imalandira pempho la nthawi ya ogwiritsa ntchito kuchokera kwa Wogula.
- Pempholi latumizidwa ku seva ya Read API ndi Web Server.
- The Read API imafunsanso SQL Database ya nthawi ya ogwiritsa ntchito.
REST API ingagwire ntchito mofanana ndi nthawi yakunyumba, kupatula kuti ma tweets onse amachokera kwa wogwiritsa ntchito osati anthu omwe amawatsatira.
Wogwiritsa amafufuza mawu osakira:
- Web Server imalandira pempho losaka kuchokera kwa kasitomala.
- Pempho latumizidwa ku seva ya Search API ndi Web Server.
Khwerero 4: Nthawi ya Twitter
Kupanga nthawi ndi ntchito yovuta. Seva yopangira nthawi yomwe imalumikizana ndi intaneti kapena ma seva a pulogalamu ndiyofunikira.
Nthawi iliyonse wogwiritsa ntchito akalowa, ntchito yanthawi yayitali imasunga ma tweets atsopano kuchokera kwa ogwiritsa ntchito patebulo la otsatira ndikuwongolera kapena kutsitsimutsa nthawi ya wogwiritsa ntchito.
Sitikhazikitsa dongosolo lamtundu uliwonse pano; m'malo mwake, tikuganiza kuti ma tweets 5 apamwamba kwambiri ochokera kwa omwe amawatsatira amaperekedwa pamndandanda wanthawi yake potengera nthawi yolenga. Titha kusunga ma 50-tweet refresh cutoff. Timasiyabe kutsitsimula kapena kupanga ndandanda yanthawi ikafika mpaka wogwiritsa ntchito atsitsimutsenso tsambali.
Kuchedwa kwambiri komanso kukhudzidwa kwa magwiridwe antchito kudzachokera kukupanga chakudya cha ogwiritsa ntchito. M'malo mwake, kupanga mtsinje wapaintaneti womwe ungawonetsedwe nthawi yomweyo ndi njira yabwino kwambiri yopititsira patsogolo magwiridwe antchito. Thamangani ma seva odzipatulira anthawi yomwe amalowetsa seva yofunsira pafupipafupi kuti mutsitsimutse chakudya kutengera nthawi yomwe idapangidwa.
Ma aligorivimu masanjidwe akuyenera kuganiziranso zizindikiro zofunika kwambiri ndikuwonetsetsa kuti nthawi yanthawi ya wogwiritsa ntchito simayendetsedwa ndi akaunti imodzi kapena zingapo zomwe amatsatira.
Mwatsatanetsatane, titha kusankha zomwe zikugwirizana ndi kufunikira kwa chinthu chilichonse chodyetsa, monga kuchuluka kwa zokonda, ndemanga, zogawana, ndi nthawi yosinthira. Iliyonse mwa njirazi iyenera kugwiritsidwa ntchito poyesa ma tweet, ndiyeno udindowo uyenera kugwiritsidwa ntchito kuwonetsa ma tweets pamndandanda wanthawi.
Kodi tiyenera kuchenjeza ogwiritsa ntchito nthawi zonse zikapezeka zatsopano zankhani zawo? Ogwiritsa angapeze kuti n'kopindulitsa kuchenjezedwa pamene deta yatsopano ikupezeka. Pazida zam'manja, komabe, kugwiritsa ntchito deta kumakhala kokwera mtengo, kumatha kuwononga bandwidth.
Zotsatira zake, titha kusankha kuti tisakankhire deta kuzipangizo zam'manja ndipo m'malo mwake timalola ogwiritsa ntchito "Kokani Kuti Mutsitsimutse" pazolemba zatsopano.
Gawo 5: Kupanga makulitsidwe
Cholepheretsa chotheka ndi Fanout Service. Ogwiritsa ntchito Twitter omwe ali ndi otsatira mamiliyoni ambiri adikirira mphindi zingapo kuti ma tweets awo atulutsidwe. Izi zitha kuyambitsa mpikisano wokhala ndi mayankho ku tweet, zomwe titha kuzipewa poyitanitsanso ma tweets panthawi yotumizira.
Tithanso kupewa kufalitsa ma tweets kuchokera kwa anthu omwe ali ndi otsatira ambiri. M'malo mwake, titha kusaka ma tweets ochokera kwa anthu omwe amawatsatira kwambiri, kuphatikiza zotsatira zakusaka ndi zotsatira zanthawi yapanyumba ya wogwiritsa ntchito, kenaka kukonzanso ma tweets panthawi yake.
Zowonjezera zowonjezera ndi:
- Sungani ma tweets mazana ochepa okha mu Memory Cache pa nthawi yanyumba iliyonse.
- Mu Memory Cache, zidziwitso zakunyumba za ogwiritsa ntchito okha ndizosungidwa.
- Titha kukonzanso nthawi kuchokera ku SQL Database ngati wogwiritsa ntchito anali asanagwiritse ntchito masiku 30 apitawa.
- Kuti mudziwe yemwe amagwiritsa ntchito, gwiritsani ntchito User Graph Service.
- Onjezani ma tweets ku Memory Cache powatenganso kuchokera ku SQL Database.
- The Tweet Info Service imatha kupulumutsa ma tweets a mwezi umodzi okha.
- Mu Service Info Service, ogwiritsa ntchito okha ndi omwe amasungidwa.
- Kuti latency ikhale yotsika, Gulu Lofufuzira lingafunike kusunga ma tweets kukumbukira.
Kutsiliza
Ngakhale Twitter ndi bungwe lalikulu, liri ndi bwinoko kumvetsetsa kamangidwe kadongosolo. Ndachita zonse zomwe ndingathe kuti ndikupatseni chithunzithunzi chapamwamba cha nthawi ya Twitter.
Ndikukhulupirira kuti mwapeza mfundo zothandiza ndipo mutha kuzigwiritsa ntchito bwino.
Siyani Mumakonda