Likopo tse kholo tsa inthanete li tsamaile haholo lilemong tse mashome a mabeli tse fetileng. Litlhahiso tsena li fetotse maikutlo a rona mabapi le nts'etsopele ea software. Ka mohlala, Facebook, Instagram le Twitter kaofela ke li-platform tse ka senyehang.
Litsamaiso tsena li tlameha ho hahuoa ho laola bongata ba sephethephethe le data kaha batho ba libilione ba li sebelisa ka nako e le 'ngoe lefatšeng ka bophara. Hona ke neng moralo oa tsamaiso kena setšoantšong.
Mokhoa oa ho theha meralo, likhokahano le data bakeng sa sistimi e fihlelang litekanyetso tse itseng e tsejoa e le moralo oa sistimi. Ka litsamaiso tse momahaneng le tse sebetsang hantle, moralo oa sistimi o khotsofatsa litlhoko tsa khoebo kapa mokhatlo oa hau.
Hang ha k'hamphani kapa mokhatlo oa hau o entse qeto ea hore na o na le mekhoa efe, o ka qala ho e kenyelletsa moralong oa tsamaiso ea 'mele o finyellang litlhoko tsa bareki ba hau.
Hore na o khetha ho tsamaea le nts'etsopele ea bespoke, litharollo tsa khoebo, kapa motsoako oa tse peli, hore na o rala sistimi ea hau joang e tla etsa qeto ea hore na u e haha joang.
Re tla shebisisa ka botlalo moralo oa sistimi ea tatellano ea nako ea Twitter posong ena, e felletseng ka thuto. Ha re qaleng.
Mohato oa 1: Hlalosa maemo a tšebeliso le lithibelo
Sebelisa case
- Mosebelisi o kenya tweet.
- Ts'ebeletso e romella litemoso le li-imeile ho balateli ba li-tweets.
- Lenane la nako la mosebelisi le shebiloe (ketso ho tsoa ho mosebelisi)
- Mosebelisi o sheba lethathamo la nako la lapeng (ketso e tsoang ho batho bao mosebelisi a e latelang)
- Mantsoe a bohlokoa a batlisisoa ke mosebelisi.
- Ka sebele tšebeletso ea fumaneha.
Ha e lekane
- Li-Tweets li romelloa ho Twitter Firehose le melapo e meng e sebelisang ts'ebeletso ena.
- Ts'ebeletso e tlosa li-tweets ho ipapisitsoe le litlhophiso tsa ponahalo ea mosebelisi.
- Haeba mosebelisi le eena a sa latele motho ea arajoang, pata karabo.
- Ela hloko khetho ea 'pata retweets'.
- Analytics
Litšitiso & mehopolo
Maikutlo a Naha
- Sephethephethe ha se qhalane ka ho lekana.
- E lokela ho ba bonolo ho romella tweet.
- Ntle le haeba u na le balateli ba limilione, ho romella molaetsa ho balateli bohle ba hau ho lokela ho potlaka.
- Ho na le basebelisi ba mafolofolo ba limilione tse 100.
- Li-tweets tse limilione tse likete tse 15 khoeli le khoeli kapa li-tweets tse limilione tse 500 letsatsi le leng le le leng
- Tweet e 'ngoe le e 'ngoe e na le litšoantšo tse 10 ka kakaretso.
- Letsatsi le letsatsi, fanout e fana ka li-tweets tse limilione tse 5.
- Fanout e fana ka li-tweets tse limilione tse likete tse 150 khoeli le khoeli.
- 250 limilione tse likete tse baloang khoeli le khoeli
- Lipatlisiso tsa khoeli le khoeli tse limilione tse likete tse 10
lobaka lo longwe
- Lenane la nako le lokela ho ba bonolo ho le tsamaisa.
- Twitter e bua haholo ka ho bala ho feta ho ngola.
- Ntlafatsa ho bala tweet ka potlako
- Tšebeliso ea tweet e ja nako.
Search
- Mokhoa oa ho batla o lokela ho potlaka.
- Ho nka nako ho batla.
Bala tšebeliso
Boholo ba tweet ka 'ngoe:
- 8 byte tweet id
- 32 bytes user-id
- Li-byte tse 140 tsa mongolo
- mecha ea litaba - karolelano ea 10 KB
- Kakaretso: ~10 KB
Khoeli e 'ngoe le e 'ngoe, 150 TB ea litaba tse ncha tsa tweet e hlahisoa.
- * Li-tweets tse limilione tse 500 letsatsi le leng le le leng * matsatsi a 30 ka khoeli * 10 KB ka tweet
- Ka lilemo tse tharo, ho bile le 5.4 PB ea litaba tse ncha tsa tweet.
Ho na le likopo tse baloang tse 100,000 motsotsoana o mong le o mong.
- * (likopo tse 400 motsotsoana / likopo tse limilione tse 1 ka khoeli) likopo tse limilione tse likete tse 250 li bala khoeli le khoeli
Ho na le li-tweets tse 6,000 motsotsoana o mong le o mong.
- * (likopo tse 400 motsotsoana / likopo tse limilione tse 1 ka khoeli) li-tweets tse limilione tse likete tse 15 khoeli le khoeli
Ho fanout, li-tweets tse likete tse 60 li romelloa motsotsoana o mong le o mong.
- Fanout e fana ka li-tweets tse limilione tse likete tse 150 khoeli le khoeli * (likopo tse 400 motsotsoana / likopo tse limilione tse 1 ka khoeli).
Likopo tse 4,000 tsa tlhahisoleseling motsotsoana o mong le o mong
- * (likopo tse 400 motsotsoana / likopo tse 1 bilione ka khoeli) lipatlisiso tse limilione tse likete tse 10 khoeli le khoeli
Phetoho e itseng e molemo
- Khoeli le khoeli, ho feta metsotsoana e limilione tse 2.5.
- Likopo tse limilione tse 2.5 ka khoeli ka kopo e le 'ngoe ka motsotsoana
- Likopo tse limilione tse 100 ka khoeli x likopo tse 40 motsotsoana
- Likopo tse limilione tse 1 ka khoeli = likopo tse 400 motsotsoana
Mohato oa 2: Setšoantšo sa boemo bo holimo
Mohato oa 3: Ho hlalosa likarolo tsa mantlha
Re ka boloka li-tweets tsa mosebelisi ho tlatsa lethathamo la nako la mosebelisi (ketso e tsoang ho mosebelisi) sebakeng sa polokelo ea litaba haeba ba fana ka tweet. Ho thata le ho feta ho fana ka li-tweets le ho theha tatellano ea nako ea lapeng (ketso e tsoang ho batho bao mosebelisi a ba latelang).
Sebaka sa polokelo ea litaba se tloaelehileng se ka tsieleha ke ho hlahisa li-tweets ho balateli bohle (li-tweets tse likete tse 60 li tlisoa motsotsoana o mong le o mong). Mohlomong re tla batla ho tsamaea le polokelo ea data e ngolang ka potlako joalo ka database ea NoSQL kapa Memory Cache.
Ho bala 1 MB ka tatellano ho tsoa mohopolong ho nka li-microseconds tse ka bang 250, empa ho bala ho tsoa ho SSD ho nka makhetlo a 4, 'me ho bala ho tsoa ho disk ho nka makhetlo a 80.
Lebenkele la Lintho le ka sebelisoa ho boloka data joalo ka litšoantšo le livideo.
- Web Server, e sebetsang e le moemeli ea ka morao, e fumana tweet e tsoang ho Client.
- Kopo e romelloa ho Seva ea Ngola API ke Seva ea Marang-rang.
- The Write API e boloka tweet ho database ea SQL lethathamong la nako la mosebelisi.
Tshebeletso ya Fan-Out e hokahane le API, mme e etsa mesebetsi e latelang.
- E fumana balateli ba mosebelisi ho Cache ea Memory ka ho botsa Ts'ebeletso ea Kerafo ea Basebelisi.
- Ho Cache ea Memori, tweet e bolokiloe lethathamong la nako la lapeng la balateli ba mosebelisi.
- Balateli ba 1,000 = 1,000 lookups le ho kenya = ts'ebetso ea O (n).
- Tweet e bolokoa ho Ts'ebeletso ea Index ea Patlo bakeng sa ho e batla kapele.
- The Object Store e sebelisoa ho boloka mecha ea litaba.
- E romella litemoso ho balateli ka Ts'ebeletso ea Tsebiso.
- Ho romela litlhokomeliso ka mokhoa o lumellanang, e sebelisa Lethathamo.
Re ka sebelisa lethathamo la matsoalloa a Redis ka sebopeho se latelang haeba Cache ea rona ea Memori e le Redis:
Lenane la nako la lapeng la mosebelisi le tla nchafatsoa ka tweet e ncha, e neng e tla bolokoa ka har'a Cache ea Memori. Re tla sebelisa REST API e latelang ea sechaba:
Lenane la nako la mosebelisi le bonoa ke mosebelisi.
- Web Server e fumana kopo ea kemiso ea nako ea mosebelisi ho tsoa ho moreki.
- Kopo e rometsoe ho Read API server ke Web Server.
- Read API e botsa SQL Database bakeng sa nako ea mosebelisi.
REST API e ne e tla sebetsa ka mokhoa o ts'oanang le kemiso ea nako ea lapeng, ntle le hore li-tweets tsohle li tla tsoa ho mosebelisi ho fapana le batho bao ba ba latelang.
Mosebelisi o batla mantsoe a bohlokoa:
- Web Server e fumana kopo ea ho batla ho tsoa ho Client.
- Kopo e romelloa ho Batla API seva ke Web Server.
Mohato oa 4: Kemiso ea nako ea Twitter
Ho etsa lethathamo la nako ke mosebetsi o boima. Ho hlokahala seva e hlahisang tatellano ea nako e hokahanyang le webosaete kapa li-server tsa ts'ebeliso.
Nako le nako ha mosebelisi a kena, ts'ebeletso ea tatellano ea nako e boloka tlaleho ea li-tweets tse ncha ho tsoa ho basebelisi ba tafoleng ea molateli le ho ntlafatsa kapa ho nchafatsa kemiso ea nako ea mosebelisi.
Ha re sebelise mofuta ofe kapa ofe oa tsamaiso ea maemo mona; Sebakeng seo, re nka hore li-tweets tse 5 tse holimo ho tsoa ho balateli ba basebelisi li hlahisoa ka tatellano ea nako ea pōpo. Re ka boloka mokhoa oa ho khatholla li-tweets tse 50. Re ntse re emisa ho khatholla kapa ho theha kemiso ea nako ka mor'a hore moeli o fihlelle ho fihlela mosebelisi a khatholla leqephe.
Mathata a phahameng a latency le ts'ebetso a tla tsoa ho tlhahiso ea phepelo ea basebelisi. Ho e-na le hoo, ho theha molapo o sa sebetseng o ka hlahisoang hang-hang ke tsela e molemohali ea ho ntlafatsa ts'ebetso. Tsamaisa li-server tse inehetseng tsa tatellano ea nako tse ping sesebelisoa sa ts'ebeliso khafetsa ho nchafatsa phepelo ho latela nako eo e entsoeng ka eona.
Algorithm ea maemo e lokela ho ela hloko matšoao a bohlokoa le ho fana ka boima ba 'mele ho netefatsa hore nako ea mosebelisi ha e laoloe ke litaba tse tsoang ho ak'haonte e le 'ngoe kapa tse ngata tseo ba li latelang.
Ka nepo, re ka khetha likarolo tse amanang le bohlokoa ba ntho efe kapa efe ea phepelo, joalo ka palo ea lintho tseo u li ratang, maikutlo, likabelo le nako ea ntlafatso. E 'ngoe le e' ngoe ea litekanyetso tsena e lokela ho sebelisoa ho lekanya tweet, ebe boemo boo bo lokela ho sebelisoa ho bonts'a li-tweets kemisong ea nako.
Na re lokela ho lula re lemosa basebelisi ha litaba tse ncha tsa litaba tsa bona li fumaneha? Basebelisi ba ka fumana ho le molemo ho hlokomelisoa ha data e ncha e fumaneha. Leha ho le joalo, ho lisebelisoa tsa mohala, ha tšebeliso ea data e bitsa chelete e ngata, e ka senya bandwidth.
Ka lebaka leo, re ka khetha ho se sututse data ho lisebelisoa tsa mehala mme ho e-na le hoo re lumelle basebelisi ho "Pull to Refresh" bakeng sa lipapatso tse ncha.
Mohato oa 5: Moralo oa sekhahla
Bothata bo ka bang teng ke Fanout Service. Basebelisi ba Twitter ba nang le balateli ba limilione ba tla tlameha ho ema metsotso e 'maloa hore li-tweets tsa bona li tsoe. Sena se ka baka peiso ka likarabo ho tweet, eo re ka e qobang ka ho odara li-tweets hape ka nako ea ho sebeletsa.
Re ka boela ra thibela ho hasanya li-tweets ho tsoa ho batho ba nang le palo e kholo ea balateli. Ho e-na le hoo, re ka etsa patlisiso ea li-tweets ho tsoa ho batho ba lateloang haholo, ra kopanya liphetho tsa morao-rao le liphetho tsa tatellano ea nako ea lapeng, ebe re hlophisa li-tweets hape ka nako.
Lintlafatso tse ling li kenyelletsa:
- Boloka li-tweets tse makholo a 'maloa feela ka har'a Cache ea Memori bakeng sa kemiso ea nako ea lapeng ka leng.
- Ho Cache ea Memori, ho bolokoa lintlha tsa tatellano ea nako ea lapeng feela tsa basebelisi ba sebetsang.
- Re ka hlophisa bocha tatellano ea liketsahalo ho tsoa ho SQL Database haeba mosebelisi a ne a sa sebetsa matsatsing a 30 a fetileng.
- Ho tseba hore na mosebelisi ke mang, sebelisa Tšebeletso ea Kerafo ea Mosebelisi.
- Kenya li-tweets ho Cache ea Memory ka ho li fumana ho tsoa ho SQL Database.
- The Tweet Info Service e ka boloka li-tweets tsa khoeli feela.
- Ts'ebeletsong ea Boitsebiso ba Basebelisi, ho bolokoa basebelisi ba sebetsang feela.
- Ho boloka latency e le tlase, Sehlopha sa Batla se tla hloka ho boloka li-tweets mohopolong.
fihlela qeto e
Le hoja Twitter e le mokhatlo o moholo, o na le molemo kutloisiso ea moralo oa sistimi. Ke entse sohle se matleng a ka ho u fa kakaretso ea boemo bo holimo ea kemiso ea nako ea Twitter.
Ke tšepa hore u fumane boitsebiso bo molemo ho eona 'me u ka e sebelisa hamolemo.
Leave a Reply