Snapchat dia fanta-daza eo amin'ny tanora sy ny tanora. Mety mihoatra ny 25 taona ianao raha tsy azonao ny fomba fiasany. Snapchat, iray amin'ireo rindranasa media sosialy malaza indrindra, dia manome ny ankizy sy ny tanora araka izay iriany: fomba mora hizarana zava-mitranga mahazatra ary mahatonga azy ireo ho mangatsiatsiaka.
Tsy sahala amin'ny Facebook sy Twitter, izay mirakitra sy mamoaka ny zavatra rehetra ataonao, Snapchat dia mampiasa hafatra izay tokony ho levona (jereo ny tsy fanaovana azy).
Betsaka ny momba ny Snapchat, ary raha mpamorona ianao dia vao mainka izany. Noho izany, ity lahatsoratra ity dia hanome anao fomba fijery avo lenta momba ny Snapchat famolavolana rafitra ary hevitra maro hafa.
Fampidirana
Snapchat dia miorina any Etazonia fifaneraserana fampiharana ahafahan'ny mpampiasa mifandray avy hatrany, mizara sary, sy ny maro hafa.
- Ny hafatra sy sary (na snaps) dia manana fe-potoana 24 ora. Mamporisika ny olona hizara ny tantarany amin'ny vondrona.
- Snap Map dia ahafahan'ny mpampiasa mahita amin'ny sarintany misy ny namany.
- Ny fahatsiarovana dia mampahatsiahy ny mpampiasa ny sary notahiriziny na nozarainy herintaona taty aoriana.
- Snapchat dia tena malaza amin'ny taranaka tanora, indrindra fa ny zatovo. Misy mpampiasa mavitrika 319 tapitrisa ao amin'ny fampiharana, ary 5.4 lavitrisa snaps no alefa isan'andro.
Terms Design manan-danja
Monolithic Architecture - Ny rindranasa tokana izay miasa tsy miankina amin'ny fampiharana hafa dia fantatra amin'ny anarana hoe monolith (maritrano monolithic). Ny monolith dia natao hanatanterahana sy hikarakarana ny hetsika rehetra ilaina amin'ny fanatanterahana asa iray. Ny fampiharana dia manao ny asa rehetra manomboka amin'ny voalohany ka hatramin'ny farany.
Microservices - Mifanohitra amin'ny monoliths izy io. Microservices dia fomba fiasa ara-javakanto izay mandamina fampiharana ho toy ny fanangonana serivisy. Ireo serivisy ireo dia ampiasaina hifehy ny lafiny maro amin'ny fampiharana. Manao baiko ny mpanjifa iray, mandray izany ny mpandroso sakafo ary manatitra azy, ary ny chef iray no manomana izany. Amin'ity ohatra ity, ny singa tsirairay dia miasa tsy miankina ary misaraka amin'ny hafa; tsy misy mahalala tsara izay ataon'ny hafa, ary tsy misy afaka mahazo vaovao mitovy.
JSON: Izy io dia endrika mifototra amin'ny lahatsoratra izay azo ampiasaina hanehoana zavatra JavaScript, litera, array ary angona. Ity endrika mifototra amin'ny lahatsoratra ity dia natao ho mora vakina sy hanoratana, ary ho levon'ny rindrambaiko. JSON dia matetika ampiasaina handefasana angona sy fampahalalana eo amin'ny mpizara sy ny fampiharana an-tserasera.
Orchestration: Ny teknikan'ny fanaovana automatique ny asa maro dia fantatra amin'ny hoe orkestra. Ireo asa ireo dia ahitana ny rafitra informatika sy ny fikirakirana rindrambaiko, ny fandrindrana ary ny fitantanana.
taratasy fanomezam-pahefana: Ny proxy dia toy ny mpanelanelana eo amin'ny mpanjifa mitady loharano iray sy ny mpizara manome azy.
harato: Ny harato serivisy dia lamina maritrano rindrambaiko izay manampy sosona amin'ny sosona fotodrafitrasa mba ahafahan'ny fifandraisana voafehy, azo jerena ary azo antoka eo amin'ny serivisy amin'ny alàlan'ny proxy.
Famolavolana avo lenta
Olana Monolithic
Snapchat dia nipoitra ho monolith mifototra amin'ny rahona miorina amin'ny Google App Engine. Na izany aza, rehefa nitombo ny lazan'ny programa ary nahazo mpampiasa sy data bebe kokoa, dia nanjary olana ny scalability.
Fanampin'izany, miaraka amin'ny radius fipoahana goavana ao anatin'ny monolith, dia azo atao kokoa ny korontana manerana ny rafitra. Ny iray amin'ireo olan'ny Snapchat dia nofaritana ho “loza ho an'ny olon-tsotra,” izay nifaninanan'ireo endri-javatra hahazoana loharano; Niakatra ny endri-javatra tamin'ny fotoana nanombohan'ny fampiharana, mamela ny endri-javatra sasany hampiditra haingana kokoa fa ny hafa kosa miadana kokoa.
Nikatsaka ny fahitana mazava, ny fisarahana ary ny fananana ny entany avy amin'ny lafiny fampandrosoana ihany koa ny injeniera, mba hahatonga ny serivisy ho mora sy mahomby.
fiovana
Rehefa nivelatra ny Snapchat dia nahatsapa ny orinasa fa ilaina ny manapaka ny fotodrafitrasa monolitika ho ampahany kely kokoa sy mahomby kokoa. Mba hampihenana ny fahatarana dia nanapa-kevitra ny hanangana famolavolana mifototra amin'ny microservices ny fikambanana.
Mba hanatanterahana ireo tanjona ireo, Snapchat dia nisafidy ny hanavao ny rindrambaiko amin'ny alàlan'ny Amazon DynamoDB, serivisy angon-drakitra NoSQL azo scalable. Nahavita nampihena 20% ny faharetan'ny median ny orinasa noho ny ezaka nataony.
Nosoratan'ny orinasa ho fampiharana kely kokoa ny fampiharana. Snapchat dia nanomboka tamin'ny fampiharana maro, anisan'izany ny fakantsary, ny chat, ny fahatsiarovana, ny fanovana sary, ny fanjifana votoaty, ary ny sarintany. Na dia mety ho an'ny mpanjifa aza ny fampidirana ireo programa ireo amin'ny monolith tokana, dia niteraka olana ara-teknika mafy izany eo amin'ny fitazonana ny fahombiazany.
Ho an'ny fanoratana indray dia nametraka fitsipika fototra maro ny orinasa. Aza apetraka mialoha; ny endri-javatra tsirairay dia tokony ho fampiharana azy manokana, ary tokony ho haingana. Snapchat dia nampiato ny fanovana tany amin'ny toerana maro mba ahafahana manoratra indray, ka mahatonga azy io ho asa ara-teknika.
Fampidirana endri-javatra fanampiny
Ny fampiharana fakan-tsary Snapchat dia manana lens, sivana, bitmojis, ary ny fahafahana manampy sary mihetsika zava-misy mitombo, ankoatra ny zavatra hafa. Ny fampiharana chat an'ny Snapchat ihany koa dia ahafahan'ny mpampiasa mitahiry sary, mitahiry lahateny, manampy emoticons, sy ny maro hafa.
Ny sarintanin'ny Snapchat, ankoatra ny zavatra hafa, dia ahafahanao manara-maso ny namana raha tianao izany. Ny fahatsiarovana, ny fanovana sary, ary ny fanjifana votoaty dia apps Snapchat samy hafa miaraka amin'ny fahaizany manokana.
Ny fahatsiarovana dia ahafahanao mitahiry na manova sary na horonan-tsary hampiasaina any aoriana, ary mampakatra na mandefa azy ireo. Ny mpampiasa dia afaka mampiasa fanovana sary ihany koa mba hanapahana sarimihetsika, manampy lahatsoratra, manampy stickers, sy ny maro hafa.
Ny fanjifana votoaty ivelany an'ny Snapchat dia manondro izay asehony amin'ny mpampiasa mifototra amin'ny masontsivana maromaro.
Microservices
Niankina be dia be tamin'ny JSON ny fandaharana mba hanatanterahana ny fanontanian'ny tambajotra tamin'izany fotoana izany. Na izany aza, nandany fotoana sy tsy nahomby ny fandefasana JSON. Snapchat dia nampiasa API fitantanana tambajotra afovoany mba hanakona ny fampiasana JSON ho antsipirian'ny fampiharana hamahana ity olana ity.
Ny Microservices dia mampiditra ny fanamby amin'ny fitantanana fanjakana fampiharana, ny fifandraisana amin'ny serivisy ary ny fitantanana ny tsy fahombiazana. Snapchat dia nampiasa teknolojia open-source toa ny Temporal mba handresena ny fahasarotana amin'ny orkestra mba hananganana rafitra matanjaka sy azo ianteherana.
Vokatr'izany, nanapa-kevitra ny fikambanana fa hampiasa modely famolavolana mesh serivisy. Snapchat dia nampiasa an'i Envoy, fitaovana loharano misokatra hafa izay miasa toy ny proxy, mba hahatratrarana io lamina io. Ny Envoy dia nitantana ny fivezivezen'ny fifamoivoizana amin'ny alàlan'ny fotodrafitrasa, nanome ny mpamorona ny fahitana ireo olana mety hitranga.
Snapchat dia namorona fampiharana anatiny antsoina hoe Switchboard ao anatin'ny serivisy serivisy. Ny Switchboard dia natao ho toy ny tontonana fanaraha-maso ho an'ny serivisy Snap, ahafahan'ny mpampiasa manova ny fifamoivoizana, mitantana ny fiankinan'ny serivisy (fampiasa iray ahafahan'ny serivisy iray hitantana miankina amin'ny toe-piainan'ny hafa), ary ny faritra manondraka.
Mba hanatsorana ny fahasarotan'ny fanitsiana mety ho ao anatin'ny serivisy, Switchboard dia nampiasaina fa tsy nampiharihary ny API Envoy manontolo. Snap dia manana tambajotra anatiny sy isam-paritra mahazatra ho an'ny microservices noho ny serivisy serivisy.
Ny serivisy ao anatin'io faritra io ihany dia afaka mifandray tsy mampiasa Internet ho an'ny daholobe, ary tsy misy fifamoivoizana amin'ny tambajotra ivelany afaka mifandray amin'ny ampahany amin'ny tambajotra anatiny.
Ny Gateways ihany no mahazo alalana hampibaribary ny tenany amin'ny Internet noho ny antony fiarovana. Ny vavahadin'ny API, ohatra, dia mety ho toy ny varavarana fidirana, fanodinana ny fangatahana avy amin'ny mpanjifa/mpampiasa ary mampandeha azy ireo miaraka amin'ny tambajotra.
Tambajotra & vavahadin'ny API
Ny fanontaniana rehetra avy amin'ny mpanjifa Snapchat dia avy amin'ny API Gateway. Mampiasa sarin'ny Envoy mitovy ihany izy io ary mifandray amin'ny fiaramanidina fanaraha-maso mitovy amin'ny serivisy micro anatiny. Ny Fiaramanidina Fanaraha-maso dia ahafahantsika mamela ny sivana Envoy manokana.
Ny rafitra fanamarinana an'ny Snapchat, ary koa ny teknolojia famerana ny tahan'ny sarany sy ny fandatsahana entana, dia karakarain'ireo sivana ireo. Mampiasa ny Service Mesh i Envoy mba handefasana fangatahana mankany amin'ny microservice mifandraika rehefa vita ny rojo sivana.
Famaranana
Ny vavahadin'ny API Snapchat dia mitarika fifamoivoizana ivelany mankany amin'ny fiasa maro an'ny fampiharana. Ny fangatahan'ny mpampiasa hanova ny toetry ny fanefena dia tantanin'ny mpizara, izay avy eo manome data ary ny fampahalalana miverina amin'ny serivisy maro an'ny fampiharana.
Amin'ny ankapobeny, ny endrika ankehitriny Snapchat dia azo ampitahaina amin'ny programa maromaro mandeha amin'ny rafitra fiasa tokana, izay amin'ity tranga ity dia ny fampiharana Snapchat. Niezaka mafy aho nanome anao fijery ambony momba ny rafitra rafitra Snapchat. Manantena aho fa nahasoa anao izany.
Leave a Reply