A maara Snapchat nke ọma n'etiti ndị na-eto eto na ndị nọ n'afọ iri na ụma. O nwere ike ịbụ na ị gafere afọ 25 ma ọ bụrụ na ịnweghị ike ịchọpụta ka ọ si arụ ọrụ. Snapchat, otu n'ime ngwa mgbasa ozi ọha na eze ama ama, na-enye ụmụaka na ndị nọ n'afọ iri na ụma ihe ha chọrọ: usoro dị mfe iji kesaa ihe omume nkịtị ma na-eme ka ọ dị mma.
N'adịghị ka Facebook na Twitter, nke na-edekọ ma na-ebipụta ihe niile ị na-eme, Snapchat na-eji ozi ndị kwesịrị ịla n'iyi (lee otú ha anaghị eme).
Enwere ọtụtụ ihe gbasara Snapchat, ma ọ bụrụ na ị bụ onye nrụpụta ọ karịrị. Yabụ, post a ga-enye gị echiche dị elu nke Snapchat nhazi usoro na ọtụtụ nghọta.
Okwu Mmalite
Snapchat sitere na US ịkparịta ụka n'socialntanet ngwa na-ahapụ ndị ọrụ jikọọ ozugbo, kesaa onyonyo na ndị ọzọ.
- Ozi na onyonyo (ma ọ bụ snaps) nwere oke oge awa 24. Na-agba ndị mmadụ ume ịkọrọ akụkọ ha na otu.
- Snap Map na-enye ndị ọrụ ohere ịhụ na maapụ ebe ndị enyi ha nọ.
- Ncheta na-echetara ndị ọrụ foto ndị ha debere ma ọ bụ kesara otu afọ ka e mesịrị.
- Snapchat na-ewu ewu nke ukwuu na ọgbọ ndị na-eto eto, karịsịa ndị nọ n'afọ iri na ụma. Enwere ndị ọrụ nde 319 na-arụsi ọrụ ike na ngwa a, a na-ezigakwa ijeri 5.4 snaps kwa ụbọchị.
Usoro nhazi dị mkpa
Monolithic Architecture - Ngwa nwere otu agba nke na-arụ ọrụ n'adabereghị na ngwa ndị ọzọ ka amara dị ka monolith (monolithic architecture). Emebere monolith iji rụọ ma jikwaa mmemme niile achọrọ iji rụchaa ọrụ. Ngwa na-arụ ọrụ niile site na mmalite ruo ọgwụgwụ.
Ngwa egwu – Ọ pola iche nke monoliths. Ngwa egwu bụ usoro ụkpụrụ ụlọ nke na-ahazi ngwa dịka nchịkọta ọrụ. A na-eji ọrụ ndị a jikwaa ọtụtụ akụkụ nke ngwa. Onye ahịa na-enye iwu, onye na-enye nri na-ebuga ya, onye isi nri na-akwadebe ya. N'ihe atụ a, akụkụ nke ọ bụla na-arụ ọrụ n'adabereghị na ndị ọzọ; ọ dịghị onye maara kpọmkwem ihe ndị ọzọ na-eme, ọ dịghịkwa onye nwere ohere ịnweta otu ozi ahụ.
JSON: Ọ bụ usoro dabere na ederede enwere ike iji gosipụta ihe Javascript, ihe nkịtị, nhazi na data. Ezubere usoro dabere na ederede ka ọ dị mfe ịgụ na ide, yana ngwa ngwa nwere ike ịgbari ya. A na-ejikarị JSON nyefee data na ozi n'etiti sava na ngwa ịntanetị.
Orchestration: Usoro nke akpaaka ọtụtụ arụmọrụ ka a maara dị ka orchestration. Ọrụ ndị a gụnyere sistemụ kọmputa na nhazi ngwanrọ, nhazi, na nchịkwa.
Onye nnọchiteanya: Onye nnọchiteanya na-arụ ọrụ dị ka ụzọ n'etiti onye ahịa na-achọ akụ na ihe nkesa na-enye ya.
ntupu: Ntupu ọrụ bụ ụkpụrụ nrụpụta ngwanrọ na-agbakwunye oyi akwa na akwa akụrụngwa iji kwe ka nzikọrịta ozi na-achịkwa, nke a na-ahụ anya na nke echekwara n'etiti ọrụ site na proxy.
Nhazi ọkwa dị elu
Nsogbu Monolithic
Snapchat sitere na igwe ojii monolith dabere na Google App Engine. Otú ọ dị, ka mmemme ahụ na-eto eto na-ewu ewu ma nwetakwuo ndị ọrụ na data, scalability ghọrọ nsogbu.
Na mgbakwunye, site na nnukwu mgbawa radius n'ime monolith, ọgbaghara na sistemụ niile ga-ekwe omume. A kọwara otu n'ime nsogbu Snapchat dị ka "ọdachi nke ndị nkịtị," nke njirimara na-asọ mpi maka ịnweta akụrụngwa; atụmatụ na-ebunye n'oge mmalite ngwa, na-enye ohere ụfọdụ atụmatụ ibu ngwa ngwa mana ndị ọzọ na-ebu nwayọọ nwayọọ.
Ndị injinia chọkwara visibiliti doro anya, nkewa, na nwe nke akụrụngwa ha site na mmepe mmepe, ka ọrụ ahụ wee nwee ike ịdị na-agbanwe ma rụọ ọrụ nke ọma.
mgbanwe
Ka Snapchat na-agbasawanye, ụlọ ọrụ ahụ ghọtara na ọ dị mkpa ịkwatu akụrụngwa monolithic ya ka ọ bụrụ obere iberibe ma rụọ ọrụ nke ọma. Iji weta obere latency, nzukọ ahụ kpebiri imepụta atụmatụ dabere na microservices.
Iji mezuo ebumnuche ndị ahụ, Snapchat họọrọ imelite ngwanrọ ya site na iji Amazon DynamoDB, ọrụ nchekwa data NoSQL nwere ike ịgbatị. Ụlọ ọrụ ahụ nwere ike ibelata nkwụsị nke etiti site na 20% n'ihi mbọ ya.
Ụlọ ọrụ degharịrị ngwa ahụ n'ime ọtụtụ ngwa ndị dị obere. Snapchat malitere site n'ọtụtụ ngwa, gụnyere igwefoto, nkata, ncheta, ndezi foto, oriri ọdịnaya, na maapụ. Ọ bụ ezie na ijikọ mmemme ndị a n'ime otu monolith dị mma maka ndị na-azụ ahịa, ọ welitere okwu ọrụ nka siri ike n'ihe banyere ịnọgide na-arụ ọrụ nke ọma.
Maka idegharị, ụlọ ọrụ ahụ guzobere ọtụtụ iwu ala. Ebunyela ya; njirimara ọ bụla kwesịrị ịbụ ngwa nke ya, ma ọ ga-adị ngwa ngwa. Snapchat kwụsịrị mgbanwe n'ọtụtụ ebe iji mee ka idegharị ya, na-eme ka ọ bụrụ ọrụ nka.
Ngwa mgbakwunye atụmatụ
Ngwa igwefoto Snapchat nwere lenses, ihe nzacha, bitmojis, yana ikike ịgbakwunye animation eziokwu agbakwunyere, na ihe ndị ọzọ. Ngwa nkata Snapchat na-enyekwa ndị ọrụ ohere ịchekwa foto, chekwaa okwu, tinye emoticons na ndị ọzọ.
Maapụ Snapchat, n'etiti ihe ndị ọzọ, na-enye gị ohere inyocha pals ma ọ bụrụ na ha chọrọ. Ncheta, ndezi foto, na oriri ọdịnaya bụ ngwa Snapchat dị iche iche nwere ike pụrụ iche.
Ncheta na-enye gị ohere ịchekwa ma ọ bụ gbanwee foto ma ọ bụ vidiyo maka iji emechaa, yana bulite ma ọ bụ zipu ha. Ndị ọrụ nwekwara ike iji ndezi foto iji bee ihe nkiri, tinye ederede, tinye akwụkwọ mmado na ndị ọzọ.
Oriri ọdịnaya mpụta nke Snapchat na-ezo aka n'ihe ọ na-egosi ndị ọrụ dabere n'ọtụtụ ọnụọgụ.
Ngwa egwu
Mmemme ahụ dabere na JSON nke ukwuu iji mee ajụjụ netwọk n'oge ahụ. Agbanyeghị, ịkọwapụta JSON na-ewe oge yana adịghị arụ ọrụ. Snapchat jiri API njikwa netwọọdụ etiti emechiri emechi iji kpuchie iji JSON dị ka nkọwa mmejuputa atumatu iji gboo nsogbu a.
Microservices na-ewebata ihe ịma aka nke njikwa steeti ngwa, nzikọrịta ozi na njikwa ọdịda. Snapchat jiri teknụzụ mepere emepe dị ka Temporal iji merie ihe isi ike orchestration iji wuo usoro siri ike na ntụkwasị obi.
N'ihi ya, nzukọ ahụ kpebiri iji usoro nhazi ntupu ọrụ. Snapchat jiri Envoy, ngwá ọrụ mepere emepe ọzọ na-arụ ọrụ dị ka onye nnọchiteanya, iji nweta ụkpụrụ a. Onye nnọchi anya jisiri ike na-agafe okporo ụzọ ọrụ site na akụrụngwa, na-enye ndị mmepe ọhụụ n'ime ihe isi ike ndị nwere ike.
Snapchat mepụtara ngwa ime akpọrọ Switchboard n'ime ntupu ọrụ. Switchboard rụrụ ọrụ dị ka ogwe njikwa maka ọrụ Snap, na-enye ndị ọrụ ohere ịgbanwe okporo ụzọ, jikwaa ndabere ọrụ (njirimara na-enye ohere ijikwa otu ọrụ dabere na ọnọdụ ndị ọzọ), yana mpaghara igbapu.
Iji mee ka mgbagwoju anya nke nhazi nwere ike dị n'ime ọrụ dị mfe, ejiri Switchboard kama ikpughe API Envoy dum. Snap nwere netwọk dị n'ime yana mpaghara mpaghara maka microservices ya n'ihi ntupu ọrụ ahụ.
Ọrụ ndị dị n'ime otu mpaghara nwere ike jikọọ na ibe ha na-ejighi ịntanetị ọha, ọ nweghịkwa okporo ụzọ netwọk dị na mpụga nwere ike iji akụkụ netwọk dị n'ime akpakọrịta.
Naanị ọnụ ụzọ ámá ka a ga-enye ikike ikpughe onwe ha na ịntanetị maka ihe nchekwa. Ọnụ ụzọ ámá API, dịka ọmụmaatụ, nwere ike ịrụ ọrụ dị mfe dị ka ọnụ ụzọ ụlọ, na-edozi arịrịọ sitere n'aka ndị ahịa/ndị ọrụ na-ebugharị ha yana netwọk.
Netwọk & Ọnụ ụzọ API
Ajuju niile sitere na onye ahịa Snapchat na-abịa site na ọnụ ụzọ API. Ọ na-eji otu onyonyo nke ozi wee jikọọ na otu ụgbọ elu njikwa dị ka microservices dị n'ime anyị. Ụgbọ elu njikwa anyị na-enye anyị ohere ịme ihe nzacha ndị nnọchianya nke omenala.
Sistemụ nyocha nke Snapchat, yana ịmachi ọnụego anyị na teknụzụ ịkwafu ibu, bụ ihe nzacha ndị a na-ejikwa. Onye ozi na-eji Mesh Ọrụ na-ebugharị arịrịọ gaa na microservice dị mkpa ka emechara yinye nzacha.
mmechi
Ọnụ ụzọ API nke Snapchat na-eduga okporo ụzọ mpụga gaa n'ọtụtụ ọrụ ngwa ahụ. Arịrịọ ndị ọrụ iji gbanwee steeti nhazi site na sava na-ejikwa ya, nke ahụ nye data na ozi laghachi na ọtụtụ ọrụ ngwa.
N'ozuzu, Snapchat dị ugbu a imewe nwere ike tụnyere ọtụtụ mmemme na-agba ọsọ na otu sistemụ, nke na nke a bụ Snapchat ngwa. M gbalịsiri ike ịnye gị nkọwapụta ọkwa dị elu nke imewe sistemụ Snapchat. Enwere m olileanya na ị hụrụ na ọ bara uru.
Nkume a-aza