I-Snapchat yaziwa kakhulu phakathi kwe-tweens kunye nolutsha. Mhlawumbi ungaphezulu kwama-25 ukuba awukwazi ukuqonda ukuba isebenza njani. I-Snapchat, enye yezona zixhobo zidumileyo zemidiya yoluntu, ibonelela abantwana kunye nabafikisayo kanye le nto bayifunayo: indlela elula yokwabelana ngeziganeko eziqhelekileyo ngelixa ubenza babonakale bepholile.
Ngokungafaniyo ne-Facebook kunye ne-Twitter, erekhoda kwaye ipapashe yonke into oyenzayo, i-Snapchat isebenzisa imiyalezo ekumele iphele (bona ukuba ayenzi njani).
Kuninzi malunga ne-Snapchat, kwaye ukuba ungumphuhlisi kungaphezulu. Ke, esi sithuba siya kukunika umbono okwinqanaba eliphezulu le-Snapchat uyilo lwenkqubo kunye nokuqonda okuninzi.
intshayelelo
I-Snapchat isekwe e-US inethiwekhi yokuncokola app evumela abasebenzisi ukuba baqhagamshele kwangoko, babelane ngemifanekiso, kunye nokunye.
- Imiyalezo kunye nemifanekiso (okanye i-snaps) inomda wexesha leeyure ezingama-24. Ukhuthaza abantu ukuba babelane ngamabali abo ngokwamaqela.
- Imephu ye-Snap ivumela abasebenzisi ukuba babone kwimephu apho abahlobo babo bekhona.
- Iinkumbulo zikhumbuza abasebenzisi ngeefoto abazigcinileyo okanye ababelana ngazo emva konyaka.
- I-Snapchat ithandwa kakhulu kwizizukulwana ezincinci, ngakumbi ulutsha. Kukho izigidi ezingama-319 zabasebenzisi abasebenzayo kwi-app, kunye ne-5.4 yeebhiliyoni ze-snaps ezithunyelwa yonke imihla.
ImiGaqo yoYilo ebalulekileyo
I-Monolithic Architecture - Isicelo esinenqanaba elilodwa elisebenza ngokuzimeleyo kwezinye izicelo ziyaziwa ngokuba yi-monolith (i-monolithic architecture). I-monolith yenzelwe ukwenza kunye nokusingatha yonke imisebenzi efunekayo ukugqibezela umsebenzi. Isicelo senza yonke imisebenzi ukusuka ekuqaleni ukuya ekupheleni.
Imicroservices -Ichasene ne-polar ye-monoliths. Imicroservices yindlela yokwakha eququzelela isicelo njengengqokelela yeenkonzo. Ezi nkonzo zisetyenziselwa ukulawula imiba emininzi yesicelo. Umthengi ufaka iodolo, uweyitala uyayithatha ayizise, aze umpheki ayilungiselele. Kulo mzekelo, icandelo ngalinye lisebenza ngokuzimeleyo kwaye ngokwahlukileyo kwamanye; akukho mntu wazi kakuhle ukuba abanye benza ntoni, kwaye akukho mntu unokufikelela kulwazi olufanayo.
JSON: Yifomathi esekwe kwiteksti engasetyenziselwa ukubonisa izinto zeJavaScript, intsingiselo, uluhlu, kunye nedatha. Le fomati esekwe kwiteksti yenzelwe ukuba ibelula ukufunda nokubhala, kunye nokugaywa yisoftware. I-JSON isetyenziswa ngokuqhelekileyo ukudlulisa idatha kunye nolwazi phakathi kweeseva kunye nezicelo ze-intanethi.
Uluhlu: Ubuchwephesha bokwenza imisebenzi emininzi yaziwa ngokuba yi orchestration. Le misebenzi ibandakanya inkqubo yekhompyuter kunye nolungelelwaniso lwesoftware, ulungelelwaniso, kunye nolawulo.
proxy: Ummeli usebenza njengendawo yokuhamba phakathi komxhasi okhangela uvimba kunye nomncedisi obonelela ngawo.
nylon: Umnatha wenkonzo yipatheni yolwakhiwo lwesoftware eyongeza umaleko kumaleko weziseko ezingundoqo ukuvumela unxibelelwano olulawulwayo, olubonakalayo, nolukhuselekileyo phakathi kweenkonzo ngeproksi.
Uyilo olukwiNqanaba eliPhezulu
Iingxaki ze-Monolithic
I-Snapchat yavela njenge-monolith esekwe kwilifu esekwe kwi-Google App Engine. Nangona kunjalo, njengoko inkqubo ikhula ekuthandeni kwaye yafumana abasebenzisi abaninzi kunye nedatha, ukulinganisa kwaba ngumba.
Ukongeza, kunye neradiyasi enkulu yokudubula ngaphakathi kwe-monolith, ukuphazamiseka kwenkqubo ngokubanzi kwakunokwenzeka. Enye yeengxaki zika-Snapchat yachazwa “njengentlekele ye-commons,” apho iimpawu zikhuphisana ngokufikelela kwimithombo; Iimpawu bezilayishwa ngexesha lokuqaliswa kwe-app, ivumela iimpawu ezithile ukuba zilayishe ngokukhawuleza kodwa ezinye zilayishe kancinane.
Iinjineli nazo zafuna ukubonakala okucacileyo, ukwahlukana, kunye nobunini bamacandelo abo kwimbono yophuhliso, ukwenzela ukuba inkonzo ikwazi ukuguquguquka kunye nokusebenza kakuhle.
inguqu
Njengoko i-Snapchat isanda, ifem yaqonda ukuba idinga ukwaphula isiseko sayo se-monolithic ibe ngamaqhekeza amancinci, asebenzayo ngakumbi. Ukuze kubonelelwe nge-latency ehlayo, umbutho wagqiba ekubeni uphuhlise uyilo olusekwe kwiinkonzo ezincinci.
Ukuzalisekisa ezo njongo, i-Snapchat ikhethe ukuhlaziya isofthiwe yayo isebenzisa i-Amazon DynamoDB, inkonzo yedatha ye-NoSQL enobungozi. Ifemu yakwazi ukunciphisa i-latency ephakathi nge-20% ngenxa yemigudu yayo.
I-app yaphinda yabhalwa kwizicelo ezininzi ezincinci ngumbutho. I-Snapchat yaqala ngezicelo ezininzi, kubandakanya ikhamera, incoko, iinkumbulo, ukuhlelwa kwemifanekiso, ukusetyenziswa komxholo, kunye nemephu. Nangona ukudibanisa ezi nkqubo kwi-monolith enye kwakulula kubathengi, kubangele umba onzima wobugcisa malunga nokugcina ukusebenza kakuhle.
Ukubhala kwakhona, ikomishini yaseka imithetho emininzi esisiseko. Musa ukulayisha kwangaphambili; into nganye kufuneka ibe yi-app yayo, kwaye kufuneka ikhawuleze. I-Snapchat imise uhlengahlengiso kwiindawo ezininzi ukuze kubhalwe kwakhona, iyenza ibe ngumsebenzi wobugcisa ngokungqongqo.
Ukuhlanganiswa kweempawu ezongezelelweyo
I-app yekhamera ye-Snapchat ineelensi, izihluzi, i-bitmojis, kunye nokukwazi ukongeza ii-animation zangempela, phakathi kwezinye izinto. Incoko ye-Snapchat app ikwavumela abasebenzisi ukuba bagcine iifoto, bagcine iintetho, bongeze iimoticons, kunye nokunye.
Imephu ye-Snapchat, phakathi kwezinye izinto, ikuvumela ukuba ujonge abahlobo ukuba bafuna ukuba wenze njalo. Iinkumbulo, ukuhlelwa kweefoto, kunye nokusetyenziswa komxholo zonke zi-apps ezahlukeneyo ze-Snapchat ezinobuchule bazo obukhethekileyo.
Iinkumbulo zikuvumela ukuba ugcine okanye uguqule iifoto okanye iividiyo ukuze zisetyenziswe kamva, kwaye uzilayishe okanye uzithumele. Abasebenzisi banokusebenzisa ukuhlela umfanekiso ukusika iifilimu, ukongeza isicatshulwa, ukongeza izincamathelisi, kunye nokunye.
Ukusetyenziswa komxholo wangaphandle we-Snapchat kubhekisa kwinto ebonisa abasebenzisi ngokusekelwe kuluhlu lweeparamitha.
Imicroservices
Inkqubo yayixhomekeke kakhulu kwi-JSON ukwenza imibuzo yenethiwekhi ngelo xesha. Nangona kunjalo, ukwahlulahlula i-JSON kwakudla ixesha kwaye kungasebenzi. I-Snapchat isebenzise i-API yolawulo lwenethiwekhi esembindini ukufihla ukusetyenziswa kwe-JSON njengeenkcukacha zokuphunyezwa ukujongana nale ngxaki.
I-Microservices yazisa imingeni yokulawulwa kombuso wesicelo, unxibelelwano lwenkonzo, kunye nolawulo lokungaphumeleli. I-Snapchat isebenzise itekhnoloji yomthombo ovulekileyo njengeTemporal ukoyisa ubunzima beokhestra ukuze kwakhiwe inkqubo eyomeleleyo nethembekileyo.
Ngenxa yoko, umbutho wagqiba ekubeni usebenzise ipateni yoyilo lwemesh yenkonzo. U-Snapchat usebenzise uMthunywa, esinye isixhobo esivulelekileyo esisebenza njenge-proxy, ukufezekisa le pateni. Umthunywa ulawule ukuhamba kweenkonzo ngeziseko ezingundoqo, enika abaphuhlisi ukubonakala kubunzima obunokwenzeka.
I-Snapchat yenza i-app yangaphakathi ebizwa ngokuba yi-Switchboard ngaphakathi kwe-mesh yenkonzo. I-Switchboard isebenze njengephaneli yokulawula yeenkonzo ze-Snap, evumela abasebenzisi ukuba batshintshe i-traffic, balawule ukuxhomekeka kwenkonzo (uphawu oluvumela ukuba inkonzo enye ilawulwe ngokuxhomekeke kwimeko yabanye), kunye nemimandla yokuhambisa amanzi.
Ukwenza lula ukuntsonkotha kolungelelwaniso olunokubakho ngaphakathi kweenkonzo, iSwitchboard yasetyenziswa endaweni yokubhenca yonke i-API yoMthunywa. I-Snap inothungelwano oluqhelekileyo lwangaphakathi kunye nommandla wee-microservices zayo enkosi kwi-mesh yenkonzo.
Iinkonzo ngaphakathi kwingingqi enye zinokunxibelelana ngaphandle kokusebenzisa i-Intanethi kawonke-wonke, kwaye akukho traffic yenethiwekhi yangaphandle enokunxibelelana neendawo zangaphakathi zothungelwano.
Kuphela ziiGateways eziya kugunyaziswa ukuba ziziveze kwi-intanethi ngezizathu zokhuseleko. Amasango e-API, umzekelo, anokusebenza ngokulula njengeengcango zangaphambili, izicelo zokuqhubekeka kubathengi/abasebenzisi kunye nokuzihambisa kunye nenethiwekhi.
Uthungelwano & API Gateway
Yonke imibuzo evela kumthengi we-Snapchat iza nge-API Gateway. Isebenzisa umfanekiso woMthunywa ofanayo kwaye iqhagamshele kwiNdlela yoLawulo efanayo njengee-microservices zethu zangaphakathi. Inqwelomoya yethu yokulawula ivumela ukuba sikwazi ukwenza izihluzi zeSithunywa soMthunywa.
Iinkqubo zoqinisekiso ze-Snapchat, kunye nokunciphisa izinga lobuchwepheshe kunye nokunciphisa umthwalo, ziphathwa zezi zihluzo. Umthunywa usebenzisa i-Service Mesh ukuhambisa izicelo kwi-microservice efanelekileyo emva kokuba ikhonkco lokucoca ligqityiwe.
isiphelo
I-Snapchat's API yesango yesango imizila yetrafikhi yangaphandle kwimisebenzi emininzi ye-app. Izicelo zabasebenzisi zokuguqula iimeko zoqwalaselo zilawulwa ngabancedisi, abathi ke nika idatha kunye nolwazi olubuyela kwiinkonzo ezininzi ze-app.
Ngokubanzi, uyilo lwangoku lwe-Snapchat lunokuthelekiswa neenkqubo ezininzi ezisebenza kwinkqubo enye yokusebenza, kule meko iyi-app ye-Snapchat. Ndizame ngamandla ukukunika umbono okumgangatho ophezulu woyilo lwenkqubo ye-Snapchat. Ndiyathemba ukuba uyifumene iluncedo.
Shiya iMpendulo