Snapchat ayaa caan ku ah dhalinyarada iyo dhalinyarada dhexdooda. Waxay u badan tahay inaad ka weyn tahay 25 haddii aadan garan karin sida ay u shaqeyso. Snapchat, mid ka mid ah codsiyada warbaahinta bulshada ee ugu caansan, waxay siisaa carruurta iyo dhalinyarada sida saxda ah waxay rabaan: hab sahlan oo lagu wadaago dhacdooyinka caadiga ah iyadoo waliba ka dhigaysa inay u muuqdaan kuwo qabow.
Si ka duwan Facebook iyo Twitter, kuwaas oo duuba oo daabaca wax kasta oo aad qabato, Snapchat waxay shaqaaleysiisaa farriimaha loo maleynayo inay luminayaan (eeg sida aysan u dhicin).
Waxaa jira wax badan oo ku saabsan Snapchat, iyo haddii aad tahay horumariye waa xitaa ka sii badan. Marka, boostadani waxay ku siin doontaa aragti heer sare ah oo Snapchat ah naqshadeynta nidaamka iyo aragtiyo kale oo badan.
Hordhac
Snapchat waa xarun Maraykan ah xiriirka bulshada app u ogolaanaya isticmaalayaasha inay isla markiiba ku xidhmaan, wadaagaan sawirada, iyo in ka badan.
- Fariimaha iyo sawirada (ama sawir-qaadista) waxay leeyihiin waqti xaddidan 24-saac. Waxay ku dhiirigelisaa dadka inay sheekooyinkooda u wadaagaan kooxo.
- Khariidadda Snap waxay u ogolaataa isticmaalayaasha inay ku arkaan khariidad halka saaxiibadoodu joogaan.
- Xusuustu waxay xasuusisaa isticmaaleyaasha sawirradii ay kaydiyeen ama la wadaageen sannad ka dib.
- Snapchat aad ayuu caan ugu yahay jiilalka da'da yar, gaar ahaan dhalinyarada. Waxaa jira 319 milyan isticmaaleyaasha firfircoon ee abka, iyo 5.4 bilyan oo degdeg ah ayaa la soo diraa maalin kasta.
Shuruudaha Naqshadeynta ee Muhiimka ah
Dhismaha monolithic Codsi hal-gees ah oo u shaqeeya si ka madax bannaan codsiyada kale waxaa loo yaqaan monolith (molith architecture). Hal-ku-dheg waxa loo qaabeeyey inuu qabto oo uu qabto dhammaan hawlaha loo baahan yahay si hawsha loo dhammaystiro. Codsigu waxa uu fuliyaa dhammaan hawlaha bilowga ilaa dhammaadka.
Microservices - Waxay ka soo horjeeda monoliths. Microservices waa hab dhismeed oo habeeya codsiga sida ururinta adeegyada. Adeegyadan waxaa loo isticmaalaa in lagu xakameeyo dhinacyo badan oo codsiga ah. Macmiil ayaa dalbada, kabalyeeri ayaa qaadaya oo u dhiibaya, kariye ayaa diyaariya. Tusaalahan, qayb kastaa waxay u shaqeysaa si madax-bannaan oo ka gooni ah kuwa kale; Qofna si sax ah uma oga waxa ay kuwa kale sameynayaan, mana jiro qof heli kara xog isku mid ah.
JSON: Waa qaab qoraal ah oo loo isticmaali karo in lagu muujiyo walxaha JavaScript, suugaanta, arrays, iyo xogta. Habkan qoraalka ku salaysan waxaa loogu talagalay in uu ahaado mid fudud in la akhriyo oo la qoro, iyo sidoo kale in la dheefshiido by software. JSON waxaa badanaa loo isticmaalaa in lagu kala wareejiyo xogta iyo macluumaadka u dhexeeya server-yada iyo codsiyada internetka.
Orchestration: Farsamada otomaatiga ah ee hawlo badan waxa loo yaqaan orchestration. Shaqooyinkaan waxaa ka mid ah nidaamka kombayutarka iyo qaabeynta software-ka, isuduwidda, iyo maamulka.
Wakiil: Wakiilku wuxuu u shaqeeyaa sidii dhex-dhexaadinta u dhaxaysa macmiilka raadinaya kheyraad iyo server-ka bixiya.
meshMesh-ka adeeggu waa qaab-dhismeed software ah oo ku dara lakabka lakabka kaabayaasha si loo oggolaado xidhiidh nidaamsan, la arki karo, oo sugan oo dhexmara adeegyada iyada oo loo marayo wakiil.
Naqshadda Heerka Sare
Dhibaatooyinka monolithic
Snapchat wuxuu asal ahaan ka soo jeedaa monolith ku saleysan daruuraha oo ku saleysan Google App Engine. Si kastaba ha ahaatee, sida barnaamijku u koray caannimada oo uu helay isticmaaleyaal iyo xog badan, miisaanku wuxuu noqday arrin.
Intaa waxaa dheer, iyada oo balaastig weyn oo qarax ah uu ka dhex jiro monolith, khalkhalgelinta nidaamka ballaaran ayaa aad u suurtagal ah. Mid ka mid ah dhibaatooyinka Snapchat ayaa lagu qeexay inay tahay "musiibo ka mid ah waxyaabaha la wadaago," kuwaas oo sifooyinku ku tartamayaan helitaanka ilaha; Astaamaha waxa ay ku shubanayeen wakhtiga bilaabista abka, taas oo u ogolaanaysa sifooyinka qaarkood in ay si degdeg ah u shubaan laakiin kuwa kale in ay si gaabis ah u shubaan.
Injineerada ayaa sidoo kale raadiyay muuqaal cad, kala saarid, iyo lahaanshaha qeybahooda marka laga eego dhanka horumarka, si adeeggu u noqdo mid dabacsan oo hufan.
Badalka
Sida Snapchat ay ballaarisay, shirkaddu waxay xaqiiqsatay inay u baahan tahay inay burburiso kaabadeeda monolithic qaybo yaryar oo waxtar badan. Si loo bixiyo daahitaanka hoos u dhaca, ururku wuxuu go'aansaday inuu sameeyo naqshad ku salaysan adeeg-yaraha.
Si loo fuliyo yoolalkaas, Snapchat waxay dooratay inay cusboonaysiiso software-keeda iyadoo adeegsanaysa Amazon DynamoDB, adeegga kaydinta xogta ee NoSQL. Shirkaddu waxay awooday inay hoos u dhigto daahitaanka dhexdhexaadka ah 20% natiijada dadaalkeeda.
App-ka waxaa dib u qoray shirkado badan oo yar yar. Snapchat wuxuu ku bilaabay codsiyo badan, oo ay ku jiraan kamarad, sheeko, xusuus, tafatir sawireed, isticmaalka nuxurka, iyo khariidad. In kasta oo ku biirinta barnaamijyadan hal monolith ay ku habboon tahay macaamiisha, waxay keentay arrin farsamo oo daran marka la eego ilaalinta waxqabadka wanaagsan.
Dib u qorida, shirkadu waxay dejisay xeerar aasaasi ah oo badan. Horay ha u rarin; sifo kastaa waa inay noqotaa app u gaar ah, waana inay noqotaa mid degdeg ah. Snapchat ayaa joojisay wax ka bedelka dhowr meelood si ay awood ugu siiso dib u qorida, taasoo ka dhigaysa mid adag hawl farsamo.
Sifooyin dheeri ah oo isdhexgalka
Appka kamarada Snapchat wuxuu leeyahay muraayado, filtarrada, bitmojis, iyo awooda lagu daro animations xaqiiqada la kordhiyay, iyo waxyaabo kale. App-ka chat-ka ee Snapchat waxa kale oo u ogolaada isticmaalayaasha in ay kaydiyaan sawirada, kaydiyaan hadalka, ku daraan emoticons, iyo in ka badan.
Khariidadda Snapchat, iyo waxyaabo kale, ayaa kuu oggolaanaya inaad la socoto asxaabta haddii ay ku rabaan. Xusuusta, tafatirka sawirka, iyo isticmaalka nuxurku waa dhammaan apps Snapchat kala duwan oo leh awoodahooda gaarka ah.
Xusuustu waxay kuu ogolaataa inaad kaydiso ama aad wax ka beddesho sawirrada ama fiidyaha si aad hadhow u isticmaasho, iyo sidoo kale aad soo geliso ama dirto. Isticmaalayaashu waxay sidoo kale isticmaali karaan tafatirka sawirka si ay u jaraan filimada, ugu daraan qoraal, ugu daraan dhejisyo, iyo in ka badan.
Isticmaalka macluumaadka dibadda ee Snapchat waxa loola jeedaa waxa ay tusto isticmaalayaasha iyada oo ku saleysan cabbirro kala duwan.
Microservices
Barnaamijku wuxuu si weyn ugu xidhnaa JSON si uu u sameeyo weydiimaha shabakadda wakhtigaas. Si kastaba ha ahaatee, falanqaynta JSON waxay ahayd waqti-qaadasho oo aan waxtar lahayn. Snapchat waxay isticmaashay API maamulka shabakada dhexe si ay u qariso isticmaalka JSON tafaasiisha fulinta si wax looga qabto dhibaatadan.
Adeegyada yar-yar waxay soo bandhigaan caqabadaha codsiga maamulka gobolka, isgaarsiinta adeegga, iyo maaraynta fashilka. Snapchat waxay isticmaashay tignoolajiyada il furan sida Temporal si ay uga gudubto dhibaatooyinka orchestration si loo dhiso nidaam adag oo la isku halayn karo.
Natiijo ahaan, ururku wuxuu go'aansaday inuu isticmaalo qaabka naqshadaynta mesh adeegga. Snapchat waxa ay adeegsatay Ergay, oo ah qalab kale oo il furan oo u shaqeeya wakiil ahaan, si loo gaadho qaabkan. Ergaygu waxa uu maareeyay socodka gaadiidka adeega isaga oo u maraaya kaabayaasha, isaga oo siinaya horumariyayaasha aragtida dhibaatooyinka iman kara.
Snapchat wuxuu abuuray app gudaha ah oo loo yaqaan 'Switchboard' gudaha mesh adeegga. Switchboard waxay u adeegtay sidii guddi kontorool oo loogu talagalay adeegyada Snap, taasoo u oggolaanaysa isticmaalayaasha inay beddelaan taraafikada, maamulaan ku tiirsanaanta adeegga (sifada u oggolaanaysa hal adeeg in lagu maareeyo iyadoo ku xiran xaaladda kuwa kale), oo ay daadiyaan gobollada.
Si loo fududeeyo kakanaanta isku xidhka suurtagalka ah ee adeegyada gudahooda, Switchboard waxa la adeegsaday halkii la kashifi lahaa Ergayga API oo dhan. Snap waxay leedahay shabakad guud oo gudaha iyo gobolka ah oo loogu talagalay adeegyadeeda yar-yar oo ay ugu mahadsantahay mesh adeegga.
Adeegyada gudaha isla gobolka ayaa isku xiri kara midba midka kale iyada oo aan la isticmaalin internetka dadweynaha, mana jirto taraafikada shabakad dibadda ah oo la xiriiri karta qaybaha shabakadaha gudaha.
Keliya Gateways-yada ayaa loo oggolaan lahaa inay naftooda u bandhigaan internetka sababo ammaan dartood. Albaabka API, tusaale ahaan, waxa laga yaabaa inay si fudud ugu adeegaan sidii albaabada hore, ka baaraandegidda codsiyada macaamiisha/isticmaalka oo ay la socdaan shabakadaha.
Shabakadda & API Gateway
Dhammaan weydiimaha macmiilka Snapchat waxay ka yimaadaan API Gateway. Waxay isticmaashaa isla sawirka Ergeyga waxayna ku xidhaa isla Diyaaradda Kontoroolka sida adeegyadeena yar yar ee gudaha. Diyaaradeena Xakamaynta waxay noo ogolaataa inaanu awoodno filtarrada Ergayga gaarka ah.
Nidaamyada aqoonsiga Snapchat, iyo sidoo kale xaddidaadda heerkayada iyo tignoolajiyada daadinta, waxaa gacanta ku haya filtarradan. Ergaygu wuxuu isticmaalaa Mesh-ka Adeegga si uu ugu gudbiyo codsiyada adeegaha yar yar ee khuseeya ka dib marka silsiladda shaandheynta dhammaato.
Ugu Dambeyn
Kadinka API ee Snapchat wuxuu u maraa taraafikada dibadda ee hawlihiisa badan ee abka. Codsiyada isticmaalayaasha ee ah in wax laga beddelo gobolada qaabeynta waxaa maamula adeegayaasha, ka dibna xog bixi iyo macluumaadka dib loogu celinayo adeegyada tirada badan ee abka.
Guud ahaan, naqshadaynta hadda ee Snapchat ayaa laga yaabaa in la barbar dhigo barnaamijyo dhowr ah oo ku shaqeeya hal nidaam, taas oo kiiskan ah app Snapchat. Waxaan aad isugu dayay inaan ku siiyo dulmar heer sare ah oo ku saabsan naqshadaynta nidaamka Snapchat. Waxaan rajeynayaa inaad faa'iido u heshay.
Leave a Reply