Snapchat inonyanya kuzivikanwa pakati pevaviri nevechiri kuyaruka. Iwe unogona kunge uri pamusoro pe25 kana iwe usingakwanisi kufunga kuti inoshanda sei. Snapchat, imwe yeanonyanya kufarirwa social media application, inopa vana nevachiri kuyaruka chaizvo zvavanoda: nzira iri nyore yekugovana zvinowanzoitika ukuwo ichiita kuti varatidzike vakatonhorera.
Kusiyana neFacebook ne Twitter, iyo inorekodha uye inoburitsa zvese zvaunoita, Snapchat inoshandisa mameseji anofanirwa kunyangarika (ona kuti haaite).
Pane zvakawanda nezve Snapchat, uye kana iwe uri mugadziri zvakatonyanya. Saka, iyi positi inokupa iwe yepamusoro-yepamusoro maonero eSnapchat dhizaini yehurongwa uye mamwe manzwisisiro akawanda.
ziviso
Snapchat ndeye US-yakavakirwa pasocial network app iyo inoita kuti vashandisi vabatane nekukasira, kugovera mifananidzo, nezvimwe.
- Mharidzo nemifananidzo (kana snaps) zvine 24-awa yenguva yakatarwa. Inokurudzira vanhu kuti vataure nyaya dzavo mumapoka.
- Snap Mepu inobvumira vashandisi kuona pamepu pane shamwari dzavo.
- Ndangariro dzinoyeuchidza vashandisi nezvemifananidzo yavakachengeta kana kugovera gore rakatevera.
- Snapchat inonyanya kufarirwa nezvizvarwa zvidiki, kunyanya vechidiki. Kune 319 miriyoni vashandisi vanoshanda paapp, uye 5.4 bhiriyoni snaps inotumirwa zuva rega rega.
Yakakosha Magadzirirwo Matemu
Monolithic Architecture -A single-tired application iyo inoshanda yakazvimiririra kune mamwe maapplication inozivikanwa se monolith (monolithic architecture). A monolith yakagadzirirwa kuita uye kubata ese ezviitwa zvinodiwa kuti upedze basa. Iyo application inoita mabasa ese kubva pakutanga kusvika kumagumo.
Microservices -Iyo polar yakatarisana ne monoliths. Microservices inzira yekuvaka inoronga application semuunganidzwa wemasevhisi. Aya masevhisi anoshandiswa kudzora akawanda maficha ekushandisa. Mutengi anoisa odha, weta anoitora oendesa, uye shefu anoigadzirira. Mumuenzaniso uyu, chikamu chimwe nechimwe chinoshanda chakazvimirira uye chakaparadzana kubva kune chimwe; hapana anonyatsoziva zviri kuitwa nevamwe, uye hapana anokwanisa kuwana ruzivo rwakafanana.
JSON: Iyo inyore-yakavakirwa fomati inogona kushandiswa kuratidza JavaScript zvinhu, literals, arrays, uye data. Aya mavara-akavakirwa mafomati anoitirwa kuve nyore kuverenga nekunyora, pamwe nekugayiwa nesoftware. JSON inowanzoshandiswa kuendesa data neruzivo pakati pemaseva uye online application.
Orchestration: Maitiro ekuita otomatiki akawanda maoperation anozivikanwa se orchestration. Aya mabasa anosanganisira komputa system uye software kumisikidza, kurongeka, uye kutonga.
Proxy: Mumiriri anoita seanoenda pakati pemutengi ari kutsvaga sosi uye sevha inoupa.
yepasi: Sevhisi mesh isoftware yekuvaka pateni iyo inowedzera dhizaini kune yezvivakwa layer kuti ibvumire kudzorwa, kucherechedzwa, uye kwakachengeteka kutaurirana pakati pemasevhisi kuburikidza neproxy.
High-Level Dhizaini
Monolithic Matambudziko
Snapchat yakatanga segore-yakavakirwa monolith yakavakirwa paGoogle App Injini. Nekudaro, sezvo chirongwa ichi chakawedzera mukurumbira uye chakawana vashandisi vazhinji uye data, scalability yakava nyaya.
Pamusoro pezvo, neyakakura kuputika radius mukati me monolith, kuvhiringika kwehurongwa hwakakura kwaigona kuitika. Imwe yematambudziko eSnapchat yakatsanangurwa se "dambudziko revanhu vese," umo maficha aikwikwidza kuwana zviwanikwa; maficha aive achirodha panguva yekuvhurwa kweapp, achibvumira mamwe maficha kuti atakure nekukurumidza asi mamwe acho kuti atakure zvishoma.
Mainjiniya vakatsvagawo kuoneka kwakajeka, kupatsanurwa, uye muridzi wezvikamu zvavo kubva padanho rekusimudzira, kuitira kuti sevhisi igone kuchinjika uye inoshanda.
Kuchinja
Sezvo Snapchat yakawedzera, iyo femu yakaziva kuti yaida kuputsa zvivakwa zvayo zvemonolithic kuita zvidimbu zvidiki, zvinoshanda. Kuti ipe yadzikira latency, sangano rakafunga kugadzira microservices-yakavakirwa dhizaini.
Kuti azadzise zvibodzwa izvozvo, Snapchat yakasarudza kuvandudza software yayo ichishandisa Amazon DynamoDB, inoparadza NoSQL database sevhisi. Iyo femu yakakwanisa kudzikisa median latency ne20% semhedzisiro yekuedza kwayo.
Iyo app yakanyorwa patsva kuita akati wandei madiki maapplication nesangano. Snapchat yakatanga nezvakawanda zvekushandisa, zvinosanganisira kamera, kutaura, ndangariro, kugadzirisa mapikicha, mashandisirwo emukati, uye mepu. Kunyangwe kubatanidza zvirongwa izvi kuita imwechete monolith zvaive nyore kune vatengi, zvakaunza dambudziko rakakura rehunyanzvi maererano nekuchengetedza kuita kwakanaka.
Kuti inyorezve, sangano rakagadzira mitemo yakawanda. Usaisa mberi; chimwe nechimwe chinofanirwa kunge chiri app chayo, uye chinofanira kukurumidza. Snapchat yakamisa kugadziridzwa munzvimbo dzinoverengeka kuti igone kunyorazve, ichiita kuti ive basa rehunyanzvi.
Zvimwe zvinhu kubatanidzwa
Snapchat's kamera app ine lenzi, mafirita, bitmojis, uye kugona kuwedzera augmented real animations, pakati pezvimwe zvinhu. Snapchat's chat app inobvumirawo vashandisi kuchengetedza mafoto, kuchengetedza hurukuro, kuwedzera emoticons, nezvimwe.
Mepu yeSnapchat, pakati pezvimwe zvinhu, inokutendera kuti utarise shamwari kana vachida kuti udaro. Ndangariro, kugadziridza mafoto, uye mashandisirwo emukati ese akaparadzana Snapchat maapplication ane kugona kwavo kwakasiyana.
Ndangariro dzinokutendera kuti uchengete kana kushandura mafoto kana mavhidhiyo ekushandisa gare gare, pamwe nekuaisa kana kutumira. Vashandisi vanogona zvakare kushandisa kudhirowa kwemifananidzo kucheka mafirimu, kuwedzera zvinyorwa, kuwedzera zvimiti, nezvimwe.
Snapchat's yekunze yemukati mashandisirwo inoreva izvo zvazvinoratidza vashandisi zvichibva pane akasiyana ma paramita.
Microservices
Iyo purogiramu yaienderana zvakanyanya neJSON kuita mibvunzo yetiweki panguva iyoyo. Nekudaro, kupaza JSON kwaive kutora nguva uye kusashanda. Snapchat yakashandisa yepakati network manejimendi API kuvhara kushandiswa kweJSON seruzivo rwekuita kugadzirisa dambudziko iri.
Microservices inosuma zvinonetsa zvekushandisa nyika manejimendi, kutaurirana sevhisi, uye kutadza manejimendi. Snapchat yakashandisa yakavhurika-sosi matekinoroji seTemporal kukunda matambudziko ekuimba kuitira kuvaka yakasimba uye yakavimbika system.
Nekuda kweizvozvo, sangano rakasarudza kushandisa sevhisi mesh dhizaini pateni. Snapchat yakashandisa Envoy, imwe yakavhurika-sosi chishandiso chinoshanda seproxy, kuzadzisa iyi pateni. Nhume yakagadzirisa kuyerera kwesevhisi traffic kuburikidza neiyo zvivakwa, ichipa vanogadzira kuoneka mumatambudziko anogona kuitika.
Snapchat yakagadzira yemukati app inonzi Switchboard mukati mebasa mesh. Switchboard yakashanda senzvimbo yekudzora yeSnap's masevhisi, ichibvumira vashandisi kushandura traffic, kubata kutsamira kwesevhisi (chinhu chinobvumira imwe sevhisi kutariswa zvinoenderana nemamiriro evamwe), uye dhiza matunhu.
Kurerutsa kuomarara kwezvingangoita zvigadziriso mukati mesevhisi, Switchboard yakashandiswa pachinzvimbo chekufumura iyo Envoy API yese. Snap ine yakajairwa yemukati uye yedunhu network kune yayo microservices nekuda kwesevhisi mesh.
Masevhisi mukati medunhu rimwe chete anogona kubatana pasina kushandisa iyo veruzhinji Internet, uye hapana ekunze network traffic inogona kutaurirana nemukati metiweki zvikamu.
Iwo maGateways chete ndiwo aizopihwa mvumo yekuzviratidza kune internet nekuda kwezvikonzero zvekuchengetedza. Iwo API gedhi, semuenzaniso, anogona kushanda nyore semagonhi epamberi, kugadzirisa zvikumbiro kubva kune vatengi / vashandisi uye nekuzvifambisa pamwe chete netiweki.
Network & API Gateway
Yese mibvunzo kubva kuSnapchat mutengi inouya kuburikidza neAPI Gateway. Iyo inoshandisa iyo yakafanana Enhume mufananidzo uye inobatanidza kune imwecheteyo Kudzora Ndege seyemukati mamicroservices edu. Yedu Yekudzora Ndege inotibvumira kugonesa tsika Envoy mafirita.
Snapchat's authentication system, pamwe nematekinoroji edu ekudzikamisa uye matekinoroji ekuteura matekinoroji, anobatwa neaya mafirita. Nhume inoshandisa iyo Service Mesh kuendesa zvikumbiro kune iyo yakakodzera microservice mushure mesefa cheni yapera.
mhedziso
Snapchat's API gedhi nzira dzekunze traffic kune akawanda eapp maitiro. Zvikumbiro zvevashandisi zvekugadzirisa zvigadziriso zvinotungamirwa nemaseva, izvo zvino kupa data uye ruzivo rwekudzokera kumasevhisi akawanda eapp.
Pakazere, dhizaini iripo yeSnapchat inogona kufananidzwa nezvirongwa zvakati wandei zvinomhanya pane imwechete inoshanda sisitimu, iyo mune iyi kesi ndiyo Snapchat app. Ndakaedza nesimba kuti ndikupe iwe yepamusoro-yepamusoro yekutarisa kweiyo Snapchat system dhizaini. Ndinovimba wakawana zvichibatsira.
Leave a Reply