Snapchat e tsebahala haholo har'a bacha le bacha. Mohlomong u ka holimo ho 25 haeba u sa tsebe hore na e sebetsa joang. Snapchat, e 'ngoe ea lisebelisoa tse tsebahalang haholo tsa marang-rang, e fana ka bana le bacha hantle seo ba se batlang: mokhoa o bonolo oa ho arolelana liketsahalo tse tloaelehileng ha o ntse o etsa hore li bonahale li le monate.
Ho fapana le Facebook le Twitter, tse rekotang le ho phatlalatsa tsohle tseo u li etsang, Snapchat e sebelisa melaetsa e lokelang ho nyamela (bona hore na ha e etse joang).
Ho na le ho hongata ka Snapchat, 'me haeba u nts'etsopele ho feta moo. Kahoo, poso ena e tla u fa pono e phahameng ea Snapchat moralo oa tsamaiso le likeletso tse ngata ho feta.
Selelekela
Snapchat e thehiloe US liwebsaeteng tseo batho ba etsang metsoalle ho tsona app e lumellang basebelisi ho hokela hanghang, ho arolelana litšoantšo, le tse ling.
- Melaetsa le litšoantšo (kapa likotlo) li na le moeli oa nako ea lihora tse 24. E khothaletsa batho ho arolelana lipale tsa bona ka lihlopha.
- 'Mapa oa Snap o lumella basebelisi ho bona 'mapeng moo metsoalle ea bona e leng teng.
- Mehopolo e hopotsa basebelisi ka linepe tseo ba li bolokileng kapa tseo ba li arolelaneng selemo hamorao.
- Snapchat e tumme haholo har'a batho ba bacha, haholo-holo bacha. Ho na le basebelisi ba mafolofolo ba limilione tse 319 ho app, 'me ho romelloa linepe tse limilione tse likete tse 5.4 letsatsi le leng le le leng.
Melao ea Bohlokoa ea Moralo
Mehaho ea Monolithic - Sesebelisoa se nang le sekala se le seng se sebetsang ntle le lits'ebetso tse ling se tsejoa e le monolith (mohaho oa monolithic). Monolith e etselitsoe ho etsa le ho sebetsana le mesebetsi eohle e hlokahalang ho phethela mosebetsi. Sesebelisoa se etsa mesebetsi eohle ho tloha qalong ho isa qetellong.
Li-Microservices - E fapane le li-monoliths. Li-Microservices ke mokhoa oa meralo o hlophisang kopo joalo ka pokello ea lits'ebeletso. Litšebeletso tsena li sebelisetsoa ho laola likarolo tse ngata tsa kopo. Moreki o fana ka odara, motho ea fanang ka lijo oa e nka 'me oa e tlisa, 'me moapehi oa e lokisetsa. Mohlaleng ona, karolwana ka nngwe e sebetsa e ikemetse le ka thoko ho tse ding; ha ho motho ea tsebang hantle seo ba bang ba se etsang, ’me ha ho motho ea nang le monyetla oa ho fumana boitsebiso bo tšoanang.
JSON: Ke mokhoa o ipapisitseng le mongolo o ka sebelisoang ho bonts'a lintho tsa JavaScript, literals, arrays, le data. Sebopeho sena se thehiloeng ho mongolo se reretsoe ho ba bonolo ho bala le ho ngola, hape le ho chesoa ke software. JSON e sebelisoa hangata ho fetisetsa data le tlhahisoleseling lipakeng tsa li-server le lits'ebetso tsa inthanete.
Orchestration: Mokhoa oa ho iketsetsa lits'ebetso tse ngata o tsejoa e le orchestration. Mesebetsi ena e kenyelletsa sistimi ea komporo le tlhophiso ea software, khokahano le tsamaiso.
Proxy: Moemeli o sebetsa e le phehisano lipakeng tsa moreki ea batlang sesebelisoa le seva e fanang ka ona.
letlooeng: Mesh ea litšebeletso ke mokhoa oa meralo ea software e eketsang lesela ho leara la litšebeletso ho lumella puisano e laoloang, e hlokomelehang, le e sireletsehileng lipakeng tsa lits'ebeletso ka proxy.
Moqapi oa Boemo bo Phahameng
Mathata a Monolithic
Snapchat e qalile e le monolith e thehiloeng marung e thehiloeng ho Google App Engine. Leha ho le joalo, ha lenaneo le ntse le eketseha ka botumo mme le fumana basebelisi ba bangata le data, bothata bo ile ba fetoha bothata.
Ho phaella moo, ka sebaka se seholo sa ho phatloha ka har'a monolith, litšitiso tsa tsamaiso ka bophara li ne li ka khoneha. E 'ngoe ea mathata a Snapchat e ne e hlalosoa e le "tlokotsi ea batho ba tloaelehileng," moo likarolo li neng li hlōlisana bakeng sa ho fumana mehloli; Likarolo li ne li ntse li kenngoa ka nako ea ho qala app, li lumella likarolo tse ling hore li laole ka potlako empa tse ling li laole butle.
Baenjiniere ba boetse ba batla ponahalo e hlakileng, karohano le beng ba likarolo tsa bona ho latela pono ea nts'etsopele, e le hore ts'ebeletso e ka fetoha habonolo le ho sebetsa hantle.
ntlafalo
Ha Snapchat e ntse e hola, feme e ile ea hlokomela hore e hloka ho heletsa meaho ea eona ea monolithic ka likotoana tse nyane, tse sebetsang hantle haholoanyane. Bakeng sa ho fana ka latency e fokotsehileng, mokhatlo o nkile qeto ea ho theha moralo o thehiloeng ho microservices.
Ho phethahatsa lipheo tseo, Snapchat e khethile ho nchafatsa software ea eona e sebelisa Amazon DynamoDB, ts'ebeletso e mpe ea database ea NoSQL. Feme e khonne ho fokotsa latency ea bohareng ka 20% ka lebaka la boiteko ba eona.
Sesebelisoa se ile sa ngoloa hape ho likopo tse ngata tse nyane ke koporasi. Snapchat e qalile ka lits'ebetso tse ngata, ho kenyelletsa kh'amera, moqoqo, mehopolo, ho hlophisa litšoantšo, tšebeliso ea litaba le 'mapa. Leha ho kopanya mananeo ana ho monolith e le 'ngoe ho ne ho loketse bareki, ho ile ha baka bothata bo matla ba tekheniki mabapi le ho boloka ts'ebetso e ntle.
Bakeng sa ho ngola bocha, mokhatlo o thehile melao e mengata ea motheo. Se ke oa kenya esale pele; karolo ka 'ngoe e lokela ho ba app ea eona, 'me e lokela ho potlaka. Snapchat e emisitse liphetoho libakeng tse 'maloa ho etsa hore ho ngoloe hape, ho etsa hore e be mosebetsi oa tekheniki.
Ho kopanya likarolo tse ling
Sesebelisoa sa khamera sa Snapchat se na le lilense, li-filters, bitmojis, le bokhoni ba ho eketsa litšoantšo tsa 'nete tse netefalitsoeng, har'a lintho tse ling. Sesebelisoa sa puisano sa Snapchat se boetse se lumella basebelisi ho boloka linepe, ho boloka lipuo, ho eketsa li-emoticons, le tse ling.
'Mapa oa Snapchat, har'a lintho tse ling, o u lumella ho beha metsoalle leihlo haeba ba batla hore u etse joalo. Mehopolo, ho hlophisa lifoto, le tšebeliso ea litaba kaofela ke lisebelisoa tse arohaneng tsa Snapchat tse nang le bokhoni bo ikhethang.
Mehopolo e u lumella ho boloka kapa ho fetola linepe kapa livideo hore u li sebelise hamorao, hammoho le ho li kenya kapa ho li romela. Basebelisi ba ka sebelisa ho hlophisa litšoantšo ho seha lifilimi, ho eketsa mongolo, ho eketsa lithupa, le tse ling.
Ts'ebeliso ea litaba tsa kantle tsa Snapchat e bua ka seo e se bonts'ang basebelisi ba ipapisitse le mefuta e mengata ea maemo.
Li-Microservices
Lenaneo le ne le itšetlehile haholo ka JSON ho etsa lipotso tsa marang-rang ka nako eo. Leha ho le joalo, ho pharalla JSON ho ne ho nka nako ebile ho sa sebetse. Snapchat e sebelisitse API ea tsamaiso ea marang-rang e bohareng ho pata tšebeliso ea JSON e le lintlha tsa ts'ebetsong ho sebetsana le bothata bona.
Microservices e hlahisa mathata a tsamaiso ea mmuso ea ts'ebeliso, puisano ea lits'ebeletso le taolo ea ho se atlehe. Snapchat e sebelisitse mahlale a bulehileng joaloka Temporal ho hlola mathata a liletsa e le ho aha sistimi e matla le e tšepahalang.
Ka lebaka leo, mokhatlo o ile oa etsa qeto ea ho sebelisa mohlala oa moralo oa mesh ea litšebeletso. Snapchat e sebelisitse Envoy, sesebelisoa se seng se bulehileng se sebetsang e le moemeli, ho fihlela mokhoa ona. Moemeli o ile a laola phallo ea sephethephethe sa litšebeletso ka lisebelisoa tsa motheo, a fa baetsi ba ponahalo mathateng a ka bang teng.
Snapchat e thehile sesebelisoa sa kahare se bitsoang Switchboard ka har'a mesh ea lits'ebeletso. Switchboard e sebelitse e le karolo ea taolo ea lits'ebeletso tsa Snap, e lumellang basebelisi ho fetola sephethephethe, ho laola litšepe tsa lits'ebeletso (e leng tšobotsi e lumellang ts'ebeletso e le 'ngoe ho laoloa ho ipapisitsoe le maemo a ba bang), le libaka tsa metsi.
Ho nolofatsa ho rarahana ha tlhophiso e ka bang teng ka har'a lits'ebeletso, ho ile ha sebelisoa Switchboard ho fapana le ho pepesa Envoy API kaofela. Snap e na le marang-rang a tloaelehileng a kahare le a tikoloho bakeng sa li-microservices tsa eona ka lebaka la mesh ea lits'ebeletso.
Litšebeletso ka hare ho sebaka se le seng li ne li ka hokahana ntle le ho sebelisa Marang-rang a sechaba, 'me ha ho sephethe-phethe sa marang-rang se ka ntle se ka buisanang le likarolo tsa marang-rang tse ka hare.
Ke ba Gateways feela ba neng ba tla fuoa tumello ea ho itlhahisa marang-rang ka mabaka a ts'ireletso. Li-gateways tsa API, mohlala, li ka sebetsa habonolo e le mamati a ka pele, ho sebetsana le likōpo tse tsoang ho bareki / basebelisi le ho li tsamaisa hammoho le marang-rang.
Network & API Gateway
Lipotso tsohle tse tsoang ho moreki oa Snapchat li tla ka API Gateway. E sebelisa setšoantšo se ts'oanang sa Moemeli mme e hokahana le Sefofane sa Taolo se tšoanang le li-microservices tsa rona tse ka hare. Sefofane sa rona sa Taolo se re lumella ho etsa li-filters tse tloaelehileng tsa Envoy.
Lits'ebetso tsa netefatso tsa Snapchat, hammoho le mahlale a rona a ho fokotsa sekhahla le ho fokotsa thepa, li sebetsoa ke lihloela tsena. Envoy o sebelisa Service Mesh ho tsamaisa likopo ho microservice e amehang ka mor'a hore ketane ea sefe e felile.
fihlela qeto e
Snapchat's API gateway e tsamaisa sephethephethe sa kantle ho ts'ebetso e mengata ea app. Likopo tsa basebelisi tsa ho fetola maemo a tlhophiso li laoloa ke li-server, tseo ka nako eo fana ka data le lintlha tse khutlelang litšebeletsong tse ngata tsa app.
Ka kakaretso, moralo oa hona joale oa Snapchat o ka bapisoa le mananeo a mangata a sebetsang tsamaisong e le 'ngoe ea ts'ebetso, eo tabeng ena e leng app ea Snapchat. Ke lekile ka matla ho u fa tlhahlobo ea boemo bo holimo ea moralo oa sistimi ea Snapchat. Ke tšepa hore u fumane e le molemo.
Leave a Reply