Snapchat e lauiloa i va ma tupulaga talavou. Atonu e sili atu lou 25 pe afai e te le iloa pe faʻafefea. Snapchat, o se tasi o faʻasalalauga faʻasalalau sili ona lauiloa, e maua ai tamaiti ma talavou mea tonu latou te mananaʻo ai: o se auala faigofie e faʻasoa ai mea masani aʻo faʻaalia foi i latou e manaia.
E le pei o le Facebook ma le Twitter, lea e faamaumauina ma lolomiina mea uma e te faia, Snapchat e faʻaaogaina savali e tatau ona mou atu (vaai pe faapefea ona latou le faia).
E tele mea e uiga i Snapchat, ma afai o oe o se atinaʻe e sili atu. O lea la, o lenei pou o le a tuʻuina atu ia te oe se vaaiga maualuga maualuga o Snapchat mamanu faiga ma le tele o faʻamatalaga.
faʻatomuaga
Snapchat o se US-fa'avae upegafesootai faaagafesootai app e mafai ai e tagata fa'aoga ona fa'afeso'ota'i vave, fa'asoa ata, ma isi mea.
- O fe'au ma ata (po'o ata) e 24-itula le taimi fa'atapula'a. Uunaia tagata e faasoa a latou tala i vaega.
- Snap Map e mafai ai e tagata faʻaoga ona vaʻai i luga o se faʻafanua o loʻo i ai a latou uo.
- O manatuaga e faamanatu atu ai i tagata faaaoga ata na latou teuina pe faasoa atu i le tausaga mulimuli ane.
- Snapchat e sili ona lauiloa i tupulaga laiti, aemaise lava talavou. E 319 miliona tagata fa'aoga malosi i luga o le app, ma e 5.4 piliona ata e lafo i aso uma.
Tulaga Taua Taua
Monolithic Architecture – O se talosaga e tasi-tiered lea e faagaoioia tutoatasi mai isi talosaga ua taʻua o le monolith (monolithic architecture). O se monolith ua mamanuina e faatino ma taulimaina uma gaioiga e manaʻomia e faʻamaeʻa ai se galuega. O le talosaga e fa'atino galuega uma mai le amataga e o'o i le fa'ai'uga.
Microservices - E faafeagai polar o monoliths. Microservices ose faiga fa'ata'atia e fa'atulagaina se talosaga e avea o se fa'aputuga o auaunaga. O nei 'au'aunaga e fa'aaogaina e pulea ai le tele o vaega o se talosaga. E fai e se tagata faatau se oka, e ave e se auauna ma avatu, ma saunia e le kuka. I lenei faʻataʻitaʻiga, o vaega taʻitasi e galue tutoatasi ma ese mai isi; e leai se tasi na te iloa tonu le mea o loʻo faia e isi, ma e leai se tasi e mafai ona maua faʻamatalaga tutusa.
JSON: O se faʻavae faʻavae e mafai ona faʻaogaina e faʻaalia ai mea JavaScript, faʻamatalaga, faʻasologa, ma faʻamaumauga. O lenei fa'atulagaga fa'avae tusitusiga ua fa'amoemoe e fa'afaigofie ona faitau ma tusitusi, fa'apea fo'i ma fa'amamafa e le polokalame. O le JSON e masani ona faʻaaogaina e faʻafeiloaʻi ai faʻamatalaga ma faʻamatalaga i le va o sapalai ma talosaga i luga ole laiga.
Orchestration: O le metotia o le faʻaogaina o le tele o gaioiga e taʻua o le tuʻufaʻatasiga. O nei galuega e aofia ai komipiuta komipiuta ma polokalame faakomepiuta, faamaopoopoina, ma pulega.
sui: O se sui e galue e fai ma sui i le va o le tagata o tausia e suʻe se punaoa ma le server o loʻo tuʻuina atu.
Mesh: O se 'au'aunaga mata'ina o se mamanu fa'akomepiuta fa'apipi'i lea e fa'aopoopoina ai se fa'avae i se fa'atūlaga tetele ina ia fa'atulafonoina, mata'ituina, ma malupuipuia feso'ota'iga i le va o auaunaga e ala i sui.
Fuafuaga Maualuga
Fa'afitauli Monolithic
Snapchat na afua mai o se monolith faʻavae ao faʻavae ile Google App Engine. Ae ui i lea, aʻo faʻatupulaia le polokalame i le lauiloa ma maua ai le tele o tagata faʻaoga ma faʻamaumauga, na avea le scalability ma faʻafitauli.
E le gata i lea, faatasi ai ma le tele o le pa i totonu o le monolith, na sili atu ona mafai ona faʻalavelave faʻalavelave. O se tasi o faʻafitauli a Snapchat na faʻamatalaina o se "faʻalavelave o tagata lautele," lea na tauva ai foliga mo le mauaina o punaoa; O foliga sa utaina i le taimi e fa'alauiloa ai le app, fa'atagaina nisi vaega e vave uta ae o isi e fa'agesegese le uta.
Sa sailia foi e le au inisinia le manino manino, vavaeeseina, ma le umiaina oa latou vaega mai se vaaiga tau atinae, ina ia mafai ona fetuutuunai ma lelei le auaunaga.
suiga
Aʻo faʻalauteleina Snapchat, na iloa e le kamupani e manaʻomia le talepeina o ana fausaga monolithic i ni vaega laiti, sili atu ona lelei. Ina ia mafai ona maua le faʻaitiitia o le latency, na filifili le faʻalapotopotoga e atiaʻe se mamanu faʻavae microservices.
Ina ia faʻataunuʻuina na sini, na filifili Snapchat e faʻafou lana polokalama e faʻaaoga ai le Amazon DynamoDB, o se auaunaga faʻamaumauga NoSQL e mafai ona faʻaogaina. Na mafai e le kamupani ona faʻaititia le vaeluagalemu i le 20% ona o ana taumafaiga.
O le app na toe tusia i le tele o talosaga laiti e le kamupani. Snapchat na amata i le tele o talosaga, e aofia ai se mea pueata, talatalanoaga, manatuaga, faʻataʻitaʻiga ata, faʻaogaina o mea, ma se faʻafanua. E ui lava o le tuʻufaʻatasia o nei polokalame i se monolith e tasi sa faigofie mo tagata faʻatau, na tulaʻi mai ai se faʻafitauli ogaoga faʻapitoa i le tulaga o le tausia lelei o galuega.
Mo se toe tusi, na faʻatuina e le kamupani le tele o tulafono faʻavae. Aua le uta muamua; o vaega taitasi e tatau ona avea ma ana lava app, ma e tatau ona vave. Snapchat na taofia suiga i le tele o nofoaga ina ia mafai ai ona toe tusi, ma avea ai ma se galuega faʻapitoa.
Fa'aopoopo vaega tu'ufa'atasiga
O le mea pueata a Snapchat o loʻo i ai tioata, filiga, bitmojis, ma le gafatia e faʻaopoopoina faʻafiafiaga moni, faʻatasi ai ma isi mea. O le Snapchat's chat app e mafai ai foʻi e tagata faʻaoga ona teu ata, faʻasaoina tautalaga, faʻaopoopo le emoticons, ma isi mea.
Snapchat's faafanua, faatasi ai ma isi mea, e mafai ai ona e mataʻituina uo pe a latou mananao ia te oe. O manatuaga, faʻataʻitaʻiga o ata, ma le faʻaogaina o mea o loʻo tuʻufaʻatasia uma Snapchat apps ma o latou gafatia tulaga ese.
O manatuaga e mafai ai ona e teuina pe suia ata po o vitio mo le faʻaaogaina mulimuli, faʻapea foʻi ma le lafoina pe lafo. E mafai fo'i e tagata fa'aoga ona fa'aoga le fa'atonutonuina o ata e tipi ai ata, fa'aopoopo tusitusiga, fa'aopoopo mea fa'apipi'i, ma isi mea.
O le faʻaogaina o mea i fafo a Snapchat e faʻatatau i mea o loʻo faʻaalia ai tagata faʻaoga e faʻavae i luga o le tele o faʻamau.
Microservices
O le polokalame na faʻalagolago tele i le JSON e faʻatino ai fesoʻotaʻiga fesili i le taimi. Ae ui i lea, o le faʻavasegaina o le JSON sa faʻaalu le taimi ma le le lelei. Snapchat na faʻaogaina se API faʻatautaia fesoʻotaʻiga e faʻaogaina ai le faʻaogaina o le JSON e fai ma faʻamatalaga faʻatinoga e foia ai lenei faʻafitauli.
Microservices faʻalauiloa luʻitau o le pulega o le setete o talosaga, fesoʻotaʻiga auaunaga, ma le puleaina o le toilalo. Snapchat faʻaaogaina tekinolosi faʻapitoa e pei o le Temporal e faʻatoʻilalo ai faʻafitauli faigata ina ia mafai ai ona fausia se faiga malosi ma faʻalagolago.
O se taunuuga, na filifili le faʻalapotopotoga e faʻaaoga se mamanu mamanu mamanu auaunaga. Snapchat faʻaaogaina le Envoy, o se isi mea faigaluega faʻapitoa e fai ma sui, e ausia ai lenei mamanu. Na fa'atautaia e le Envoy le fa'agasologa o fefa'ataua'iga o auaunaga e ala i atina'e tetele, ma tu'uina atu i le au atina'e le va'aia i fa'afitauli e ono tula'i mai.
Snapchat na fatuina se mea i totonu e taʻua o le Switchboard i totonu o le mesh tautua. O le Switchboard sa avea o se vaega e pulea ai auaunaga a Snap, e mafai ai e tagata fa'aoga ona fesuia'i feoaiga, pulea le fa'alagolagoina o auaunaga (o se vaega e mafai ai ona pulea se tasi auaunaga e faalagolago i le tulaga o isi), ma alavai itulagi.
Ina ia faafaigofie le lavelave o fetuutuunaiga talafeagai i totonu o auaunaga, na faʻaaogaina le Switchboard nai lo le faʻaalia atoa o le Envoy API. O le Snap o lo'o i ai se feso'ota'iga masani i totonu ma fa'aitulagi mo ana microservices fa'afetai i le tautua mata.
O au'aunaga i totonu o le itulagi lava e tasi e mafai ona feso'ota'i le tasi i le isi e aunoa ma le fa'aogaina o le Initaneti lautele, ma e leai se felauaiga i fafo e mafai ona feso'ota'i ma vaega o feso'otaiga i totonu.
E na'o Gateways e fa'atagaina e fa'aalia i latou lava i luga ole initaneti mo mafuaaga saogalemu. O faitotoa API, mo se faʻataʻitaʻiga, e mafai ona faigofie ona avea ma faitotoʻa i luma, faʻagaioiina talosaga mai tagata faʻatau / faʻaoga ma taʻitaʻia i latou faʻatasi ma le fesoʻotaʻiga.
Network & API Gateway
O fesili uma mai le tagata Snapchat e sau mai le API Gateway. E fa'aogaina le ata lava e tasi o le Envoy ma fa'afeso'ota'i i le Va'alele Fa'atonu e tasi e pei o a tatou auaunaga laiti i totonu. O la matou Va'alele Fa'atonu e fa'atagaina ai i matou e fa'aagaioi fa'amama a le Envoy.
O faiga fa'amaoni a Snapchat, fa'apea fo'i ma a tatou fua fa'atapula'a ma fa'agata fa'avevesi tekonolosi, e fa'atautaia e nei filiga. E fa'aaoga e le Aveta le Mesh Au'aunaga e fa'aala ai talosaga i le microservice talafeagai pe a mae'a le filifili faamama.
iʻuga
Snapchat's API faitoto'a auala felauaiga i fafo i le tele o galuega a le app. O talosaga a tagata fa'aoga e sui tulaga fa'atulagaina e pulea e 'au'aunaga, lea tuuina atu faamatalaga ma fa'amatalaga i tua i le tele o auaunaga a le app.
I le aotelega, o le mamanu o loʻo i ai nei Snapchat e mafai ona faʻatusatusa i le tele o polokalame o loʻo faʻaogaina i luga o se faiga faʻaoga e tasi, lea i lenei tulaga o le Snapchat app. Na ou taumafai malosi e tuʻuina atu ia te oe se vaaiga maualuga maualuga o le mamanu o le Snapchat system. Ou te faʻamoemoe na e mauaina le aoga.
Tuua se tali