Indlela engenaseva yokuthuthukisa ngokushesha isevisi yevidiyo esebenzayo

Indlela engenaseva yokuthuthukisa ngokushesha isevisi yevidiyo esebenzayo

Ngisebenza ekuthengiseni, lapho umgomo oyinhloko ungachazwa ngegama elithi "thengisa kakhulu, kwenze ngokushesha." Uma sikwenza ngokushesha, sizozuza kakhulu. Futhi, kuyinto efiselekayo ukuthi yonke into ingasebenzi ngezinduku kanye ne-snot, kodwa ngezinga elamukelekayo lekhwalithi. Ngizokutshela ngolwazi lwami lapho kudingekile ukuthuthukisa isevisi yokuphromotha ngesikhathi esifushane.

Inikezwe: i-akhawunti yezimpande ku-AWS, akukho mingcele ekukhetheni isitaki sobuchwepheshe, i-backend eyodwa, kanye nenyanga eyodwa yokuthuthukiswa.

Umsebenzi: sebenzisa isevisi yokuphromotha lapho abasebenzisi balayisha khona ividiyo eyodwa ukuya kwezine ethatha isekhondi elilodwa ukuya kwemine, abese eshumekwa ochungechungeni lwamavidiyo okuqala.

Isixazululo

Ukubhala isevisi yakho yebhayisikili ngesikhathi esifushane kangako akuwona umqondo omuhle. Ngaphezu kwalokho, ukuze isevisi ibhekane nomthwalo futhi wonke umuntu athole ividiyo efiselekayo, ingqalasizinda izodingeka. Futhi okungcono hhayi ngenani lentengo evela endizeni. Ngakho-ke, sigxila ngokushesha kuzixazululo ezenziwe ngomumo ezenziwe ngokwezifiso ezincane.

Isixazululo esijwayelekile sokusebenza ngevidiyo i-FFmpeg, insiza ye-cross-platform console okuthi, ngokusebenzisa izingxabano, ikuvumela ukuthi usike futhi weqe umsindo. Osekusele ukuthi ubhale i-wrapper bese uyikhulula empilweni. Sibhala i-prototype ehlanganisa amavidiyo amabili, futhi... ubumnandi buqala. Umtapo wolwazi usekelwe ku-.NET Core 2, kufanele isebenze kunoma yimuphi umshini we-virtual, ngakho-ke sithatha isibonelo se-AWS EC2 futhi yonke into izosebenza.

Umbhalo ofihliwecha, ngeke kusebenze
.
Nakuba i-FFmpeg yenza umsebenzi ube lula, ukuze uthole isixazululo esisebenza ngempela udinga ukwakha isibonelo se-EC2 futhi uklame ingqalasizinda yenethiwekhi yayo, okuhlanganisa ne-Load Balancer. Umsebenzi olula wokuthumela kusuka ekuqaleni uba nzima kakhulu, futhi ingqalasizinda iqala ukufuna imali ngokushesha - njalo ngehora inani lesikhathi sokusebenza liyakhishwa ku-akhawunti yeklayenti.

Isevisi yethu ayibandakanyi izinqubo ezisebenza isikhathi eside, ayidingi isizindalwazi esihlobene esikhulu nesinamafutha, futhi ilingana kahle nesakhiwo esisekelwe emicimbini enochungechunge lwezingcingo ezincane zesevisi. Isixazululo siyaphakamisa ngokwaso - singashiya i-EC2 futhi sisebenzise uhlelo lokusebenza olungenasiphakeli ngokweqiniso, njenge-Resizer yesithombe evamile esekelwe ku-AWS Lambda.

Ngendlela, naphezu kokungathandi okusobala kwabathuthukisi be-AWS be-.NET, basekela i-.NET Core 2.1 njengesikhathi sokusebenza, esihlinzeka ngohlu olugcwele lwamathuba okuthuthukisa.

Futhi i-cherry ekhekheni - i-AWS inikeza isevisi ehlukile yokusebenza ngamafayela evidiyo - AWS Elemental MediaConvert.

Ingqikithi yomsebenzi ilula ngendlela emangalisayo: sithatha isixhumanisi se-S3 kuvidiyo ephumayo, sibhale nge-AWS Console, .NET SDK noma ngokumane i-JSON esifuna ukukwenza ngevidiyo futhi sishayele isevisi. Yona ngokwayo isebenzisa imigqa yokucubungula izicelo ezingenayo, ilayisha umphumela ku-S3 ngokwayo futhi, okubaluleke kakhulu, ikhiqiza Umcimbi we-CloudWatch woshintsho lwesimo ngasinye. Lokhu kusivumela ukuthi sisebenzise izingcipho ze-lambda ukuze siqedele ukucutshungulwa kwevidiyo.

Indlela engenaseva yokuthuthukisa ngokushesha isevisi yevidiyo esebenzayo
Nansi indlela i-architecture yokugcina ebukeka ngayo:

I-backend yonke igcinwe kuma-lambdas amabili. Enye ngeyokuzungezisa amavidiyo aqondile, njengoba umsebenzi onjalo awukwazi ukwenziwa ngephasi eyodwa.

Sizobeka ingaphambili ngendlela yesicelo se-SPA esibhalwe nge-JS futhi sihlanganiswe nge-pug ebhakedeni lomphakathi le-S3. Ukuze uzidawunilodele amavidiyo ngokwawo, asidingi ikhodi yeseva - sidinga nje ukuvula amaphoyinti okugcina angu-REST esihlinzekwa yi-S3. Okuwukuphela kwento ungakhohlwa ukulungisa izinqubomgomo ne-CORS.

izingibe

  • I-AWS MediaConvert, ngesizathu esingaziwa, isebenzisa umsindo kuphela esiqeshini ngasinye sevidiyo ngokuhlukene, kodwa sidinga ingoma ejabulisayo evela kuso sonke isilondolozi sesikrini.
  • Amavidiyo aqondile adinga ukucutshungulwa ngokuhlukana. I-AWS ayiwathandi amabha amnyama futhi ibeka amarola ku-90°.

I-skating rink elula

Naphezu kwabo bonke ubuhle be-Stateless, udinga ukugcina ithrekhi yalokho okudingeka kwenziwe ngevidiyo: glue noma wengeze umsindo ngokulandelana kwevidiyo eqediwe. Ngenhlanhla, iMediaConvert isekela ukudlulisa imethadatha emisebenzini yayo, futhi singahlala sisebenzisa ifulegi elilula lefomu elithi “isMasterSoundJob”, sihlukanise le methadatha kunoma yisiphi isigaba.

I-Serverless ivumela ngokuphelele ukusebenza nama-NoOps - indlela ethatha ukungadingeki kweqembu elihlukile elibhekele ingqalasizinda yephrojekthi. Ngakho-ke, kwakuyindaba encane - sithumela isisombululo ku-AWS ngaphandle kokubamba iqhaza kwabaphathi besistimu, abahlale benokuthile okufanele bakwenze noma kunjalo.
Futhi ukusheshisa konke lokhu, sisebenzisa ngokuzenzakalelayo iskripthi sokuphakela ngangokunokwenzeka ku-AWS CloudFormation, ekuvumela ukuthi usebenzise inkinobho eyodwa ngokuqondile usuka ku-VS. Ngenxa yalokho, ifayela lemigqa yekhodi engu-200 likuvumela ukuthi ukhiphe isisombululo esenziwe ngomumo, nakuba i-syntax ye-CloudFormation ingase ishaqise uma ungayijwayele.

Inani

I-serverless ayiyona i-panacea. Kodwa kuzokwenza ukuphila kube lula kakhulu ezimweni ezinemingcele emithathu: “izinsiza ezilinganiselwe—isikhathi esifushane—imali encane.”

Izici Zezinhlelo Zokusebenza Ezifanele I-Serverless

  • ngaphandle kwezinqubo ze-Long-Running. I-API Gateway hard limit imizuzwana engama-29, umkhawulo oqinile we-lambda imizuzu emi-5;
  • echazwe yi-Event-Driven architecture;
  • ihlehla ibe yizici ezihlanganiswe ngokukhululekile njenge-SOA;
  • ayidingi umsebenzi omningi ngesimo sakho;
  • ibhalwe nge-.NET Core. Ukuze usebenze nge-.NET Framework, usazodinga okungenani i-Docker enesikhathi sokusebenza esifanele.

Izinzuzo zendlela ye-Serverless

  • kunciphisa izindleko zengqalasizinda;
  • kunciphisa izindleko zokuletha isisombululo;
  • scalability okuzenzakalelayo;
  • ukuthuthukiswa onqenqemeni lwenqubekelaphambili yezobuchwepheshe.

Ukungalungi, ngesibonelo esithile

  • Ukulandela ngomkhondo nokugawulwa okusabalalisiwe - kuxazululwe kancane nge-AWS X-Ray ne-AWS CloudWatch;
  • ukulungisa okungalungile;
  • Ukuqala Okubandayo lapho kungekho mthwalo;
  • I-interface enobutha yomsebenzisi ye-AWS iyinkinga yendawo yonke :)

Source: www.habr.com

Engeza amazwana