Yakha inkundla yevidiyo ezinsukwini ezingama-90

Kule ntwasahlobo sizithole sisesimweni esimnandi kakhulu. Ngenxa yalolu bhubhane, kwacaca ukuthi izingqungquthela zethu zasehlobo zidinga ukuhanjiswa ku-inthanethi. Futhi ukuze siziqhube ku-inthanethi kahle, izixazululo zesofthiwe esenziwe ngomumo bezingafanele thina; besidinga ukubhala ezethu. Futhi saba nezinyanga ezintathu ukwenza lokhu.

Kuyacaca ukuthi kube yizinyanga ezintathu ezithokozisayo. Kodwa ngaphandle akubonakali ngokuphelele: iyini inkundla yenkomfa eku-inthanethi? Iqukethe ziphi izingxenye? Ngakho-ke, ekugcineni kwezingqungquthela ze-DevOops zasehlobo, ngibuze labo ababenomthwalo wemfanelo walo msebenzi:

  • U-Nikolay Molchanov - umqondisi wezobuchwepheshe we-JUG Ru Group;
  • U-Vladimir Krasilshchik ungumhleli we-Java osebenzayo osebenza ngemuva (ungabona futhi imibiko yakhe ezingqungqutheleni zethu ze-Java);
  • U-Artyom Nikonov unesibopho sokusakazwa kwethu kwamavidiyo.

Ngendlela, ezingqungqutheleni zasekwindla-ebusika sizosebenzisa inguqulo ethuthukisiwe yesikhulumi esifanayo - abafundi abaningi be-habra basazoba abasebenzisi bayo.

Yakha inkundla yevidiyo ezinsukwini ezingama-90

Sonke isithombe

— Lalinjani iqembu?

U-Nikolay Molchanov: Sinomhlaziyi, umklami, umhloli, abaphambili abathathu, nabangemuva. Futhi-ke, uchwepheshe omise okwe-T!

— Yayibukeka kanjani inqubo ngokujwayelekile?

UNikolay: Kuze kube maphakathi no-March, besingenalutho olulungele uku-inthanethi nhlobo. Futhi ngoMashi 15, yonke i-carousel eku-inthanethi yaqala ukuzungeza. Sakha amakhosombe amaningana, sahlela, saxoxa ngezakhiwo eziyisisekelo futhi senza konke ngezinyanga ezintathu.

Lokhu, vele, kudlule ezigabeni zakudala zokuhlela, izakhiwo, ukukhethwa kwesici, ukuvotela lezo zici, inqubomgomo yalezo zici, ukuklama kwazo, ukuthuthukiswa, ukuhlolwa. Ngenxa yalokho, ngo-June 6, sakhipha yonke into ekukhiqizeni. I-TechTrain. Kwakunezinsuku ezingama-90 kuyo yonke into.

— Ingabe sikwazile ukufeza lokho esizibophezele kukho?

UNikolay: Njengoba manje sesibamba iqhaza engqungqutheleni ye-DevOops eku-inthanethi, kusho ukuthi isebenzile. Mina ngokwami ​​ngizibophezele entweni eyinhloko: ngizolethela amakhasimende ithuluzi angenza ngalo ingqungquthela eku-inthanethi.

Inselelo kwaba yilena: sinikeze ithuluzi esingasakaza ngalo izingqungquthela zethu kubanikazi bamathikithi.

Konke ukuhlela kwahlukaniswa izigaba eziningana, futhi zonke izici (cishe 30 global) zahlukaniswa izigaba 4:

  • esizokwenza nakanjani (ngeke siphile ngaphandle kwabo),
  • esizokwenza okwesibili,
  • esingasoze sakwenza,
  • futhi esingasoze sakwenza.

Senze zonke izici ezigabeni ezimbili zokuqala.

- Ngiyazi ukuthi ingqikithi yezinkinga ze-JIRA ezingama-600 zidaliwe. Ezinyangeni ezintathu, wenze ama-microservices ayi-13, futhi ngisola ukuthi abhalwanga ku-Java kuphela. Usebenzise ubuchwepheshe obuhlukile, unamaqoqo amabili e-Kubernetes ezindaweni ezitholakalayo ezintathu kanye nokusakaza okungu-5 kwe-RTMP e-Amazon.

Manje ake sibheke ingxenye ngayinye yesistimu ngokwehlukana.

Ukusakaza

— Ake siqale lapho sesivele sinesithombe sevidiyo, futhi sidluliselwa kwezinye izinkonzo. Artyom, sitshele ukuthi lokhu kusakaza-bukhoma kwenzeka kanjani?

Artyom Nikonov: Uhlelo lwethu olujwayelekile lubukeka kanje: isithombe esivela kukhamera -> igumbi lethu lokulawula -> iseva yendawo ye-RTMP -> i-Amazon -> isidlali sevidiyo. Imininingwane eyengeziwe wabhala ngakho ngo-Habré ngoJuni.

Ngokuvamile, kunezindlela ezimbili zomhlaba zokwenza lokhu: kungaba ngehadiwe noma ngokusekelwe kuzixazululo zesofthiwe. Sikhethe umzila wesofthiwe ngoba ulula endabeni yezikhulumi ezikude. Akwenzeki ngaso sonke isikhathi ukuletha ihadiwe kusipika kwelinye izwe, kodwa ukuletha isofthiwe kusipika kubonakala kulula futhi kunokwethenjelwa.

Ngokombono we-hardware, sinenombolo ethile yamakhamera (kuma-studio ethu nasezikhulumi ezikude), inombolo ethile yezilawuli ezikude ku-studio, ngezinye izikhathi okumele zilungiswe ngaphansi kwetafula ngesikhathi sokusakazwa.

Amasignali asuka kulawa madivaysi angena kumakhompyutha anamakhadi wokuthwebula, amakhadi okufaka/okukhiphayo, namakhadi omsindo. Lapho, amasiginali axutshwe futhi ahlanganiswe abe izakhiwo:

Yakha inkundla yevidiyo ezinsukwini ezingama-90
Isibonelo sesakhiwo sezipikha ezi-4

Yakha inkundla yevidiyo ezinsukwini ezingama-90
Isibonelo sesakhiwo sezipikha ezi-4

Ngaphezu kwalokho, ukusakaza okuqhubekayo kunikezwa ngosizo lwamakhompiyutha amathathu: kukhona umshini omkhulu owodwa kanye nepheya elisebenzayo ngokushintshana. Ikhompyutha yokuqala iqoqa umbiko wokuqala, owesibili - ikhefu, owokuqala - umbiko olandelayo, owesibili - ikhefu elilandelayo, njalonjalo. Futhi umshini omkhulu uxuba owokuqala nowesibili.

Lokhu kudala uhlobo lukanxantathu, futhi uma noma iyiphi yalezi nodi ihluleka, singaqhubeka ngokushesha nangaphandle kokulahlekelwa ikhwalithi siletha okuqukethwe kumakhasimende. Saba nesimo esinjalo. Ngesonto lokuqala lezingqungquthela, salungisa umshini owodwa, sawuvula/sawuvala. Abantu babonakala bejabule ngokukhuthazela kwethu.

Okulandelayo, imifudlana evela kumakhompuyutha iya kuseva yendawo, enemisebenzi emibili: umzila we-RTMP streams nokurekhoda izipele. Ngakho sinamaphuzu amaningi okurekhoda. Ukusakazwa kwamavidiyo abe esethunyelwa engxenyeni yesistimu yethu eyakhelwe kumasevisi e-Amazon SaaS. Sisebenzisa I-MediaLive:,S3,CloudFront.

UNikolay: Kwenzekani lapho ngaphambi kokuba ividiyo ifinyelele izethameli? Kufanele usike ngandlela thize, akunjalo?

Artyom: Sicindezela ividiyo ngasohlangothini lwethu futhi siyithumele kuMediaLive. Sethula ama-transcoder lapho. Badlulisa amakhodi amavidiyo ngesikhathi sangempela abe izinqumo ezimbalwa ukuze abantu bakwazi ukuwabuka emafonini abo, nge-inthanethi engeyinhle ezweni, njalo njalo. Khona-ke le mifudlana iyasikwa izingcezu, yile ndlela iphrothokholi esebenza ngayo I-HLS. Sithumela uhlu lwadlalwayo endaweni engaphambili equkethe izinkomba zalezi ziqephu.

- Ingabe sisebenzisa isixazululo esingu-1080p?

Artyom: Ububanzi bevidiyo yethu bufana namaphikseli angu-1080p - 1920, futhi ukuphakama kuncane kancane, isithombe sikhulu kakhulu - kunezizathu zalokhu.

Umdlali

- U-Artyom uchaze ukuthi ividiyo ingena kanjani ekusakazweni, ukuthi isatshalaliswa kanjani ezinhlwini zokudlalayo ezihlukene ukuze kube nezinqumo ezihlukene zesikrini, isikwe ibe yizicucu bese ingena esidlalini. Kolya, manje ngitshele ukuthi hlobo luni lomdlali lolu, ukuthi ludla kanjani ukusakaza, kungani i-HLS?

UNikolay: Sinomdlali ongabukwa yizo zonke izibukeli zengqungquthela.

Yakha inkundla yevidiyo ezinsukwini ezingama-90

Empeleni, lokhu kugoqa umtapo wolwazi hls.js, lapho kubhalwe khona abanye abadlali abaningi. Kodwa besidinga ukusebenza okucace kakhulu: ukuhlehlisa emuva nokumaka indawo lapho umuntu ekhona, yimuphi umbiko awubukayo njengamanje. Besidinga nezethu izakhiwo, zonke izinhlobo zamalogo nakho konke okunye okwakhiwe nathi. Ngakho-ke, sinqume ukubhala umtapo wethu womtapo wolwazi (ukusonga nge-HLS) futhi sikushumeke kusayithi.

Lokhu ukusebenza kwempande, ngakho kwaqalwa cishe kuqala. Futhi-ke yonke into yakhula ngokuzungezile.

Eqinisweni, ngokugunyazwa, umdlali uthola ohlwini lwadlalwayo oluvela ngemuva olunezixhumanisi zeziqephu ezihlotshaniswa nesikhathi nekhwalithi, alande ezidingekayo futhi azibonise umsebenzisi, enze “umlingo” othile endleleni.

Yakha inkundla yevidiyo ezinsukwini ezingama-90
Isibonelo somugqa wesikhathi

- Inkinobho yakhelwa phakathi kwesidlali ukukhombisa umugqa wesikhathi wayo yonke imibiko...

UNikolay: Yebo, sixazulule ngokushesha inkinga yokuzulazula komsebenzisi. Maphakathi no-April, sanquma ukuthi ngeke sisakaze ingqungquthela ngayinye kuwebhusayithi ehlukile, kodwa sizohlanganisa yonke into eyodwa. Ukuze abasebenzisi bamathikithi e-Full Pass bakwazi ukushintsha ngokukhululekile phakathi kwezingqungquthela ezihlukene: kokubili ukusakazwa bukhoma nokurekhodwa kwezidlule.

Futhi ukwenza kube lula kubasebenzisi ukuzulazula ekusakazeni kwamanje futhi bashintshe phakathi kwamathrekhi, sinqume ukwenza inkinobho "Ukusakaza Konke" namakhadi ombiko avundlile ukuze sishintshe phakathi kwamathrekhi nemibiko. Kukhona ukulawula ikhibhodi.

- Ngabe bukhona ubunzima bezobuchwepheshe ngalokhu?

UNikolay: Babenebha yokuskrola lapho okwakuphawulwa khona izindawo zokuqala zemibiko ehlukene.

— Ekugcineni, ingabe uye wawafaka la mamaki kubha yokuskrola ngaphambi kokuba i-YouTube yenze okufanayo?

Artyom: Babenayo ku-beta ngaleso sikhathi. Kubonakala sengathi lesi isici esiyinkimbinkimbi kakhulu ngoba bebesihlola kancane ngabasebenzisi onyakeni odlule. Futhi manje isifinyelele ukudayiswa.

UNikolay: Kodwa empeleni sayithola ukuthi ithengiswe ngokushesha. Ngokweqiniso, ngemuva kwalesi sici esilula kunenani elikhulu le-backend, i-frontend, izibalo kanye nezibalo ngaphakathi komdlali.

Ingaphambili

— Ake sibone ukuthi lokhu okuqukethwe esikubonisayo (ikhadi lenkulumo, izikhulumi, iwebhusayithi, uhlelo) kufika kanjani ekuqaleni?

UVladimir Krasilshchik: Sinezinhlelo ezimbalwa zangaphakathi ze-IT. Kunohlelo lapho kufakwa khona yonke imibiko kanye nazo zonke izikhulumi. Kunenqubo lapho isikhulumi sibamba iqhaza engqungqutheleni. Isikhulumi sihambisa isicelo, uhlelo luyasithatha, bese kuba nepayipi elithile ngokusho ukuthi umbiko udalwe.

Yakha inkundla yevidiyo ezinsukwini ezingama-90
Lena yindlela isikhulumi esibona ngayo ipayipi

Lolu hlelo luwukuthuthukiswa kwethu kwangaphakathi.

Okulandelayo, udinga ukwakha ishejuli kusuka emibikweni ngayinye. Njengoba wazi, lokhu kuyinkinga enzima ye-NP, kodwa ngandlela thize siyayixazulula. Ukwenza lokhu, sethula enye ingxenye ekhiqiza ishejuli futhi ilayishe kusevisi yefu yenkampani yangaphandle Okuqukethwe. Lapho, yonke into ibukeka njengetafula lapho kunezinsuku zengqungquthela, ezinsukwini lapho kunezikhala zesikhathi, futhi ezindaweni lapho kunemibiko, amakhefu noma imisebenzi yokuxhasa. Ngakho-ke okuqukethwe esikubonayo kutholakala kusevisi yezinkampani zangaphandle. Futhi umsebenzi uwukudlulisela esizeni.

Kungase kubonakale sengathi isayithi liyikhasi elinomdlali, futhi akukho lutho oluyinkimbinkimbi lapha. Ngaphandle kokuthi akunjalo. Ingemuva elingemuva kwaleli khasi liya kokuthi Okuqukethwe, ithola ishejuli lapho, ikhiqize izinto ezithile bese iyithumela endaweni engaphambili. Sisebenzisa uxhumano lwe-websocket, olwenziwa yilowo nalowo iklayenti lesikhulumi sethu, simthumelela isibuyekezo seshejuli ukusuka kumuva kuya phambili.

Icala langempela: isikhulumi sishintshe imisebenzi ngesikhathi senkomfa. Kudingeka sishintshe ibheji lenkampani yomqashi wakhe. Kwenzeka kanjani lokhu kusukela ku-backend? Isibuyekezo sithunyelwa kuwo wonke amaklayenti ngesokhethi lewebhu, bese indawo engaphambili ngokwayo idweba kabusha umugqa wesikhathi. Konke lokhu kwenzeka ngaphandle komthungo. Inhlanganisela yesevisi yefu kanye nezingxenye zethu ezimbalwa zisinika ithuba lokukhiqiza konke lokhu okuqukethwe futhi sikunikeze ngaphambili.

UNikolay: Kubalulekile ukucacisa lapha ukuthi isiza sethu akusona isicelo se-SPA sakudala. Lokhu kokubili kusekelwe kusakhiwo, iwebhusayithi enikeziwe kanye ne-SPA. I-Google empeleni ibona leli sayithi njenge-HTML enikeziwe. Lokhu kuhle ku-SEO kanye nokuletha okuqukethwe kumsebenzisi. Ayilindi ukuthi i-JavaScript engu-1,5 megabytes ilayishe ngaphambi kokubona ikhasi, ibona ngokushesha ikhasi eselinikeziwe, futhi uyayizwa njalo uma ushintsha umbiko. Konke kwenzeka ngesigamu sesekhondi, njengoba okuqukethwe sekuvele kulungile futhi kuthunyelwe endaweni efanele.

- Ake sidwebe umugqa ngaphansi kwakho konke lokhu okungenhla ngokufaka ohlwini lobuchwepheshe. UTyoma uthe sinemifudlana emi-5 ye-Amazon, futhi siletha ividiyo nomsindo lapho. Sinemibhalo ye-bash lapho, siyisebenzisela ukwethula nokulungiselela...

Artyom: Lokhu kwenzeka nge-AWS API, kunezinsiza eziningi eziseceleni zobuchwepheshe lapho. Sahlukanisa izibopho zethu ukuze ngihambise ku ICloudFront, futhi abathuthukisi bangaphambili nabangemuva bayithatha lapho. Sinenombolo yokubophezela kwethu ukwenza lula ukwakheka kokuqukethwe, esibese sikwenza nge-4K, njll. Njengoba izikhathi zokugcina beziqinile kakhulu, sikwenze cishe ngokuphelele ku-AWS.

- Bese konke lokhu kungena kumdlali usebenzisa isistimu ye-backend. Sine-TypeScript, React, Next.JS kumdlali wethu. Futhi ngemuva sinezinsizakalo ezimbalwa ku-C#, Java, Spring Boot kanye ne-Node.js. Konke lokhu kusetshenziswa i-Kubernetes kusetshenziswa ingqalasizinda ye-Yandex.Cloud.

Ngifuna futhi ukuqaphela ukuthi lapho ngidinga ukujwayela isiteji, kwaba lula: zonke izinqolobane ziku-GitLab, yonke into ibizwa kahle, izivivinyo zibhaliwe, kukhona imibhalo. Okusho ukuthi, ngisho nangesimo esiphuthumayo, babezinakekela izinto ezinjalo.

Izithiyo Zebhizinisi Nezibalo

- Siqondise abasebenzisi abangu-10 ngokusekelwe ezidingweni zebhizinisi. Isikhathi sokukhuluma ngemikhawulo yebhizinisi ebesinayo. Bekufanele siqinisekise umsebenzi omningi, siqinisekise ukuhambisana nomthetho wokugcinwa kwedatha yomuntu siqu. Futhi yini enye?

UNikolay: Ekuqaleni, siqale ngezimfuneko zevidiyo. Into ebaluleke kakhulu isitoreji sevidiyo esabalalisiwe emhlabeni wonke ukuze ilethwe ngokushesha eklayentini. Ezinye zihlanganisa ukulungiswa kwe-1080p, kanye nokuhlehlisa, abanye abaningi abangakusebenzisi kumodi ebukhoma. Kamuva sengeza ikhono lokunika amandla isivinini esingu-2x, ngosizo lwayo ungakwazi “ukubamba” okubukhoma futhi uqhubeke nokubuka ingqungquthela ngesikhathi sangempela. Futhi endleleni, ukusebenza kokumaka umugqa wesikhathi kwavela. Ngaphezu kwalokho, bekufanele sibekezelele amaphutha futhi simelane nomthwalo wokuxhumana okungu-10. Ngokombono ongasemuva, lokhu cishe kuxhumano oluyi-000 oluphindwe ngezicelo eziyi-10 zokuvuselela ikhasi ngalinye. Futhi lokhu sekuvele kungu-000 RPS/umzuzwana. Kancane kancane.

— Ingabe bezikhona ezinye izidingo “zombukiso wangempela” onezitendi eziku-inthanethi zozakwethu?

UNikolay: Yebo, lokhu kwakufanele kwenziwe ngokushesha futhi emhlabeni wonke. Sasinezinkampani zozakwethu ezingafika kweziyi-10 engqungqutheleni ngayinye, futhi zonke bekufanele ziqedwe esikhathini esingangesonto noma amabili. Nokho, okuqukethwe kwabo kuhluka kancane ngefomethi. Kodwa kwenziwa injini yesifanekiso ethile ehlanganisa lawa makhasi ngokuhamba kwesikhathi, ngaphandle kokubamba iqhaza okwengeziwe ekuthuthukisweni.

- Bekukhona nezidingo zokuhlaziya ukubukwa nezibalo zesikhathi sangempela. Ngiyazi ukuthi sisebenzisa i-Prometheus kulokhu, kodwa sitshele kabanzi: yiziphi izimfuneko esihlangabezana nazo ukuze sihlaziye, futhi lokhu kwenziwa kanjani?

UNikolay: Ekuqaleni, sinezidingo zokumaketha zokuqoqa ukuze kuhlolwe i-A/B futhi siqoqe ulwazi ukuze siqonde ukuthi ukuletha kanjani okuqukethwe okuhle kakhulu ekhasimendeni esikhathini esizayo. Kukhona nezimfuneko zezibalo ezithile zemisebenzi kazakwethu kanye nezibalo ozibonayo (vakashela ikhawunta). Lonke ulwazi luqoqwa ngesikhathi sangempela.

Singanikeza lolu lwazi ngefomu elihlanganisiwe ngisho nasezikhulumini: bangaki abantu abebekubuka ngesikhathi esithile. Ngesikhathi esifanayo, ukuze uhambisane ne-Federal Law 152, i-akhawunti yakho yomuntu siqu kanye nedatha yomuntu siqu ayilandelelwa nganoma iyiphi indlela.

Inkundla isivele inamathuluzi okuthengisa kanye namamethrikhi ethu okulinganisa umsebenzi wabasebenzisi ngesikhathi sangempela (ubani obuke ukuthi iyiphi isibili yombiko) ukuze sakhe amagrafu okuba khona emibikweni. Ngokusekelwe kule datha, kwenziwa ucwaningo oluzokwenza izingqungquthela ezilandelayo zibe ngcono.

Ukukhwabanisa

— Ingabe sinazo izindlela zokulwa nokukhwabanisa?

UNikolay: Ngenxa yesikhathi esiqinile ngokombono webhizinisi, umsebenzi awuzange umiswe ekuqaleni ukuze uvimbele ukuxhumeka okungadingekile. Uma abasebenzisi ababili bengena ngaphansi kwe-akhawunti efanayo, bangabuka okuqukethwe. Kodwa siyazi ukuthi kungakanani ukubuka ngesikhathi esisodwa okwakuvela ku-akhawunti eyodwa. Futhi sivimbele abephula umthetho abaningi abanonya.

U-Vladimir: Ngokwekhredithi yayo, omunye wabasebenzisi abavinjelwe waqonda ukuthi kungani lokhu kwenzeka. Wafika waxolisa wathembisa ukuthenga ithikithi.

- Ukuze konke lokhu kwenzeke, kufanele ulandele ngokuphelele bonke abasebenzisi kusukela ekungeneni kuye ekuphumeni, uhlale wazi ukuthi benzani. Lusebenza kanjani lolu hlelo?

U-Vladimir: Ngingathanda ukukhuluma ngezibalo nezibalo, esibe sesizihlaziya ukuze sithole impumelelo yombiko noma esingakwazi ukuzinikeza ozakwethu. Wonke amaklayenti axhunywe ngoxhumano lwe-websocket kuqoqo elithile elingemuva. Imile lapho i-hazelcast. Iklayenti ngalinye ngesikhathi ngasinye lithumela lokho elikwenzayo nokuthi iyiphi ithrekhi elibukele. Bese lolu lwazi luhlanganiswa kusetshenziswa imisebenzi ye-Hazelcast esheshayo bese ibuyiselwa kuwo wonke umuntu obuka lawa mathrekhi. Sibona ekhoneni ukuthi bangaki abantu manje abanathi.

Yakha inkundla yevidiyo ezinsukwini ezingama-90

Ulwazi olufanayo lugcinwa ku Mongo futhi iya echibini lethu ledatha, lapho sinethuba lokwakha igrafu ethakazelisa kakhulu. Umbuzo uphakama: bangaki abasebenzisi abahlukile ababuke lo mbiko? Siya ku Ama-Postgres, kukhona ama-pings abo bonke abantu abeze nge-id yalo mbiko. Siqoqe, sahlanganisa eziyingqayizivele, futhi manje sesingakwazi ukuqonda.

UNikolay: Kodwa ngesikhathi esifanayo, siphinde sithole idatha yesikhathi sangempela evela ku-Prometheus. Isethwe ngokumelene nazo zonke izinsizakalo ze-Kubernetes, ngokumelene ne-Kubernetes ngokwayo. Iqoqa yonke into, futhi ngeGrafana singakha noma yimaphi amagrafu ngesikhathi sangempela.

U-Vladimir: Ngakolunye uhlangothi, silanda lokhu ukuze siqhubeke nokucutshungulwa kwe-OLAP. Futhi ku-OLTP, uhlelo lokusebenza lulanda yonke into ku-Prometheus, Grafana kanye namagrafu aphinde ahlangane!

- Kunjalo lapho amagrafu ehlangana.

Izinguquko Ezinamandla

- Sitshele ukuthi izinguquko eziguquguqukayo zenziwa kanjani: uma umbiko ukhanselwe imizuzu engu-6 ngaphambi kokuqala, luyini uchungechunge lwezenzo? Iliphi ipayipi elisebenzayo?

U-Vladimir: Ipayipi linemibandela kakhulu. Kunamathuba amaningana. Okokuqala ukuthi uhlelo lokukhiqiza ishejuli lusebenzile futhi lwashintsha uhlelo. Ishejuli eshintshiwe ilayishwe kokuthi Okuqukethweyo. Ngemuva kwalokho i-backend iyaqonda ukuthi kunezinguquko zale ngqungquthela ku-Contentful, iyayithatha futhi iyakhe kabusha. Konke kuqoqwa futhi kuthunyelwe nge-websocket.

Okwesibili okungenzeka, lapho yonke into yenzeka ngesivinini esiphuthumayo: umhleli ushintsha mathupha ulwazi kokuthi Okuqukethwe (isixhumanisi ku-Telegram, isethulo sesikhulumi, njll.) futhi i-logic efanayo isebenza njengeyokuqala.

UNikolay: Konke kwenzeka ngaphandle kokuvuselela ikhasi. Zonke izinguquko zenzeka ngaphandle komthungo kuklayenti. Okufanayo kuya ekushintsheni imibiko. Uma isikhathi sifika, umbiko nesixhumi esibonakalayo siyashintsha.

U-Vladimir: Futhi, kukhona ukunqanyulwa kwesikhathi sokuqala kwemibiko emugqeni wesikhathi. Ekuqaleni akukho lutho. Futhi uma uhambisa igundane lakho phezu komugqa obomvu, ngesikhathi esithile, ngenxa yomqondisi wokusakaza, kuzovela ama-cutoffs. Umqondisi usetha isiqalo esifanele sokusakaza, i-backend ithatha lolu shintsho, ibala izikhathi zokuqala nezokugcina zazo zonke izethulo zengoma ngokuvumelana neshejuli yenkomfa, iyithumele kumakhasimende ethu, futhi umdlali udonsa amaphuzu. Manje umsebenzisi angazulazula kalula ekuqaleni nasekupheleni kombiko. Kwakuyimfuneko yebhizinisi eqinile, elula kakhulu futhi ewusizo. Awuchithi isikhathi ngokuthola isikhathi sangempela sokuqala sombiko. Futhi lapho senza ukubuka kuqala, kuyoba kuhle kakhulu.

Ukuthunyelwa

- Ngingathanda ukubuza mayelana nokuthunyelwa. U-Kolya kanye neqembu bachitha isikhathi esiningi ekuqaleni ukuze bamise yonke ingqalasizinda lapho konke okwenzekayo kithi. Ngitshele, yenziwe ngani yonke?

UNikolay: Ngokombono wezobuchwepheshe, ekuqaleni besinesidingo sokuthi umkhiqizo ungabonakali kunoma yimuphi umthengisi. Woza kwa-AWS ukuze wenze imibhalo ye-Terraform ngokuqondile kusuka ku-AWS, noma ngokuqondile kusuka ku-Yandex, noma kwa-Azure, njll. akungenanga ngempela. Kwadingeka sithuthele kwenye indawo ngesinye isikhathi.

Emasontweni amathathu okuqala sasilokhu sifuna indlela yokwenza lokhu kangcono. Ngenxa yalokho, sifinyelele esiphethweni sokuthi i-Kubernetes kuleli cala iyikho konke, ngoba isivumela ukuthi sidale izinsizakalo zokukala ngokuzenzakalelayo, ukukhishwa okuzenzakalelayo, futhi sithole cishe zonke izinsizakalo ngaphandle kwebhokisi. Ngokwemvelo, zonke izinsizakalo bekufanele ziqeqeshelwe ukusebenza noKubernetes, Docker, futhi nethimba kwadingeka lifunde.

Sinamaqoqo amabili. Ukuhlolwa nokukhiqiza. Ziyafana ngokuphelele ngokuya ngehadiwe nezilungiselelo. Sisebenzisa ingqalasizinda njengekhodi. Zonke izinsiza zikhishwa ngokuzenzakalelayo ezindaweni ezintathu ukusuka emagatsheni esici, amagatsha amakhulu, amagatsha okuhlola, kanye ne-GitLab kusetshenziswa ipayipi elizenzakalelayo. Lokhu kuhlanganiswe kakhulu ku-GitLab, kuhlanganiswe kakhulu ne-Elastic, i-Prometheus.

Sithola ithuba ngokushesha (okungemuva phakathi kwemizuzu eyi-10, indawo engaphambili phakathi nemizuzu emi-5) sikhiphe izinguquko kunoma iyiphi indawo enakho konke ukuhlola, ukuhlanganiswa, ukwenza izivivinyo zokusebenza, ukuhlolwa kokuhlanganiswa kwemvelo, kanye nokuhlola ngokuhlolwa komthwalo kuvuliwe. indawo yokuhlola cishe into efanayo nesifuna ukuyithola ekukhiqizeni.

Mayelana nokuhlolwa

- Uhlola cishe yonke into, kunzima ukukholelwa ukuthi ubhale kanjani yonke into. Ungasitshela mayelana nokuhlolwa kwe-backend: kungakanani konke okumboziwe, yiziphi izivivinyo?

U-Vladimir: Zimbili izinhlobo zokuhlolwa zibhaliwe. Esokuqala ukuhlolwa kwezingxenye. Phakamisa izivivinyo zeleveli yalo lonke uhlelo lwentwasahlobo bese ungena Testcontainers. Lokhu ukuhlolwa kwezimo zebhizinisi ezisezingeni eliphezulu. Angiyihloli imisebenzi. Sihlola izinto ezinkulu kuphela. Isibonelo, khona kanye ekuhlolweni, inqubo yokungena kumsebenzisi iyalingiswa, isicelo somsebenzisi samathikithi lapho angaya khona, kanye nesicelo sokufinyelela ukuze ubuke ukusakaza. Izimo zomsebenzisi ezicace kakhulu.

Cishe into efanayo isetshenziswa kulokho okubizwa ngokuthi izivivinyo zokuhlanganisa, empeleni ezisebenza endaweni ezungezile. Eqinisweni, lapho ukuthunyelwa okulandelayo ekukhiqizeni kwethulwa, izimo eziyisisekelo zangempela nazo ziyasebenza ekukhiqizeni. Ukungena ngemvume okufanayo, ukucela amathikithi, ukucela ukufinyelela ku-CloudFront, ukuhlola ukuthi ukusakaza kuxhumene ngempela nezimvume zami, kubheka isixhumi esibonakalayo somqondisi.

Okwamanje nginezivivinyo ezingaba ngu-70 kanye nezivivinyo zokuhlanganisa ezingaba ngu-40 ebhodini. Ukufakwa kusondele kakhulu ku-95%. Lokhu okwezingxenye, okuncane kokuhlanganisa, akudingekile kangako. Uma kucatshangelwa ukuthi iphrojekthi ihilela zonke izinhlobo zokukhiqiza amakhodi, lokhu kuyinkomba enhle kakhulu. Yayingekho enye indlela yokwenza esakwenza ngezinyanga ezintathu. Ngoba uma sihlole mathupha, sinikeza izici kumhloli wethu, futhi ubezothola iziphazamisi futhi azibuyisele kithi ukuze sizilungise, khona-ke lolu hambo oluya nokubuya lokususa iphutha bekhodi luzoba lude kakhulu, futhi ngeke sihlangabezane nanoma yiziphi izinsuku eziwumnqamulajuqu.

UNikolay: Ngokwejwayelekile, ukuze wenze ukwehla endaweni yonke lapho ushintsha umsebenzi othile, udinga ukuhlala futhi ugobe yonke indawo izinsuku ezimbili.

U-Vladimir: Ngakho-ke, kuyimpumelelo enkulu ukuthi uma ngilinganisa isici, ngithi ngidinga izinsuku ezingu-4 zamapeni amabili alula kanye ne-websocket engu-1, i-Kolya ivumela. Usevele ejwayele ukuthi lezi zinsuku ezingu-4 zihlanganisa izinhlobo ezi-2 zokuhlolwa, futhi-ke, cishe, kuzosebenza.

UNikolay: Ngiphinde ngibe nezivivinyo eziyi-140 ezibhaliwe: ingxenye + esebenzayo, eyenza into efanayo. Zonke izimo ezifanayo zihlolwa ekukhiqizeni, ekuhlolweni, nasekukhiqizeni. Futhi kamuva nje sengeze izivivinyo eziyisisekelo ze-UI ezisebenzayo. Ngale ndlela sihlanganisa ukusebenza okuyisisekelo okungahle kuhlukane.

U-Vladimir: Yiqiniso, kufanelekile ukukhuluma ngokuhlolwa komthwalo. Kwakudingeka ukuhlola isiteji ngaphansi komthwalo oseduze nowangempela ukuze uqonde ukuthi konke kunjani, kwenzekani ngoRabbit, kwenzekani nge-JVMs, ingakanani inkumbulo edingekayo ngempela.

- Angazi ngokuqinisekile ukuthi kukhona yini esihlolayo ngasohlangothini lokusakaza, kodwa ngiyakhumbula ukuthi bekunezinkinga ngama-transcoder ngenkathi sihlangana. Ingabe siyihlolile imifudlana?

Artyom: Ihlolwe ngokuphindaphindiwe. Ukuhlela imihlangano. Enqubweni yokuhlela imihlangano, bekunamathikithi acishe abe ngu-2300 e-JIRA. Lezi yizinto nje ezijwayelekile abantu abazenzayo ukuze benze imihlangano. Sithathe izingxenye zepulatifomu sazifaka ekhasini elihlukile lemihlangano, elaliqhutshwa uKirill Tolkachev (talkkv).

Uma ngikhuluma iqiniso, azikho izinkinga ezinkulu. Izikhathi ezimbalwa lapho sibambe iziphazamisi zenqolobane ku-CloudFront, sayixazulula ngokushesha - sivele salungisa kabusha izinqubomgomo. Kube nezimbungulu eziningi kakhulu kubantu, ezinhlelweni zokusakaza kusayithi.

Phakathi nezingqungquthela, kwadingeka ngibhale abanye abathumeli kwamanye amazwe ukuze ngikwazi ukumboza amathuluzi nemisebenzi eyengeziwe. Kwezinye izindawo kwakudingeka ngenze amabhayisikili ami ngenxa nje yamamethrikhi. Umhlaba wehadiwe ye-AV (audio-video) awumnandi kakhulu - unohlobo oluthile lwe-“API” yezinto zokusebenza ongeke ukwazi ukuthonya. Futhi kukude neqiniso lokuthi uzokwazi ukuthola ulwazi oludingayo. Abathengisi bezingxenyekazi zekhompyutha bahamba kancane ngempela, futhi cishe akunakwenzeka ukuthola okufunayo kubo. Sekukonke kunezingcezu zehadiwe ezingaphezu kwe-100, azikubuyiseli okudingayo, futhi ubhala abathumela ngaphandle abangajwayelekile nabangenamsebenzi, ngenxa yokuthi ungasusa iphutha ngandlela thile uhlelo.

Izinsiza

- Ngikhumbula ukuthi ngaphambi kokuqala kwezingqungquthela sathenga kanjani imishini eyengeziwe.

Artyom: Sathenga amakhompyutha, amalaptop, namaphakethe ebhethri. Okwamanje singaphila imizuzu engama-40 ngaphandle kukagesi. NgoJuni kwaba nokuduma okukhulu kwezulu eSt. Petersburg - ngakho saba nobumnyama obunjalo. Ngesikhathi esifanayo, abahlinzeki abaningana beza kithi ngezixhumanisi ze-optical ezivela kumaphuzu ahlukene. Lena imizuzu engu-40 ngempela yokwakha isikhathi sokuphumula, lapho sizobe sikhanyisa izibani, umsindo, amakhamera, njll. sisebenza.

— Sinendaba efanayo ne-inthanethi. Ehhovisi lapho izitudiyo zethu zikhona, sadonsa inetha eliqinile phakathi kwaphansi.

Artyom: Sino-20 Gbit wefayibha phakathi kwaphansi. Ngokuqhubekayo phansi, endaweni ethile kukhona optics, endaweni ethile kungekho optics, kodwa noma kunjalo kukhona iziteshi ezimbalwa kune gigabit - sidlala ividiyo kuzo phakathi amathrekhi ingqungquthela. Ngokuvamile, kulula kakhulu ukusebenza kwingqalasizinda yakho; awuvamisile ukwenza lokhu ezingqungqutheleni ezingaxhunyiwe ku-inthanethi ezingosini.

— Ngaphambi kokuthi ngisebenze e-JUG Ru Group, ngibone indlela amagumbi ehadiwe ezingqungqutheleni ezingaxhunyiwe ku-inthanethi ayemiswa ngobusuku obubodwa, lapho bekunemonitha enkulu enawo wonke amamethrikhi owakhayo eGrafana. Manje sekunegumbi lasendlunkulu lapho kuhlala khona ithimba labathuthukisi, okuthi phakathi nengqungquthela lilungise iziphazamisi ezithile futhi lithuthukise izici. Ngesikhathi esifanayo, kukhona uhlelo lokuqapha oluboniswa esikrinini esikhulu. U-Artyom, u-Kolya nabanye abafana bahlala futhi baqinisekise ukuthi konke akuwi futhi kusebenza kahle.

Ilukuluku nezinkinga

- Ukhulume kahle ngeqiniso lokuthi sisakaza ne-Amazon, kukhona isidlali sewebhu, yonke into ibhalwe ngezilimi ezahlukene zokuhlela, ukubekezelelwa kwamaphutha nezinye izidingo zebhizinisi zinikezwa, kufaka phakathi i-akhawunti yomuntu siqu esekelwa izinhlangano ezisemthethweni kanye abantu ngabanye, futhi singahlanganisa nomuntu osebenzisa i-OAuth 2.0, kukhona okumelene nokukhwabanisa, ukuvinjwa komsebenzisi. Singakhipha izinguquko ngokushintshashintshayo ngoba sikwenze kahle, futhi konke kuhloliwe.

Ngithanda ukwazi ukuthi yiziphi izinto ezingavamile ezazihilelekile ekuqaliseni okuthile. Ingabe kube khona izimo ezingavamile lapho uthuthukisa i-backend, i-frontend, okuthile okuhlanyayo kwavela futhi ungaqondi ukuthi wenzeni ngakho?

U-Vladimir: Kimina kubonakala sengathi lokhu kwenzeke ezinyangeni ezintathu ezedlule. Nsuku zonke. Njengoba ubona, zonke izinwele zami sezikhishiwe.

Yakha inkundla yevidiyo ezinsukwini ezingama-90
UVladimir Krasilshchik ngemuva kwezinyanga ezi-3, lapho kuvela uhlobo oluthile lomdlalo futhi akekho owaqonda ukuthi enzeni ngalo.

Nsuku zonke kwakukhona into efana nalena, lapho kwakukhona umzuzu onjalo lapho uyithatha futhi uklebhule izinwele zakho, noma uqaphele ukuthi akekho omunye, futhi nguwe kuphela ongayenza. Umcimbi wethu wokuqala omkhulu bekuyi-TechTrain. NgoJuni 6 ngo-2 ekuseni sasingakayikhiqizi indawo yokukhiqiza, i-Kolya yayiyikhipha. Futhi i-akhawunti yomuntu siqu ayizange isebenze njengeseva yokugunyazwa isebenzisa i-OAuth2.0. Siyiguqule yaba umhlinzeki we-OAuth2.0 ukuze sixhume inkundla kuyo. Ngangisebenze cishe amahora angu-18 ngokuqondile, ngabheka ikhompuyutha futhi angizange ngibone lutho, angiqondi ukuthi kungani ingasebenzi, futhi uKolya wabheka ikhodi yami ukude, wabheka iphutha ekucushweni kweSpring. , yayithola, futhi i-LC yasebenza, futhi ekukhiqizeni futhi.

UNikolay: Futhi ihora ngaphambi kwe-TechTrain ukukhululwa kwenzeke.

Izinkanyezi eziningi beziqondaniswe lapha. Sibe nenhlanhla enkulu ngoba besineqembu elikhulu, futhi wonke umuntu ugqugquzelwe umbono wokukwenza ku-inthanethi. Kuzo zonke lezi zinyanga ezintathu besiqhutshwa ukuthi “senze i-YouTube.” Angizange ngizivumele ukuthi ngiklebhule izinwele zami, kodwa ngitshele wonke umuntu ukuthi konke kuzohamba kahle, ngoba empeleni, konke kwakubalwa kudala.

Mayelana nokusebenza

— Ungangitshela ukuthi bangaki abantu abebesendaweni kuthrekhi eyodwa? Ingabe zikhona izinkinga zokusebenza?

UNikolay: Azikho izinkinga zokusebenza, njengoba sesishilo. Isibalo esiphezulu sabantu abebehambele umbiko owodwa bekungabantu abayi-1300, lokhu kuse-Heisenbug.

— Ingabe kube khona izinkinga ngokubuka kwendawo? Futhi kungenzeka yini ukuba nencazelo yobuchwepheshe enemidwebo yokuthi konke kusebenza kanjani?

UNikolay: Sizokwenza isihloko mayelana nalokhu kamuva.

Ungakwazi ngisho nokulungisa amaphutha okusakaza endaweni. Lapho izingqungquthela seziqalile, kwaba lula nakakhulu, ngoba ukusakazwa kokukhiqiza kwavela ukuthi singakubuka ngaso sonke isikhathi.

U-Vladimir: Njengoba ngikuqonda, abathuthukisi be-front-end basebenze endaweni ngokuhlekisa, futhi-ke, njengoba isikhathi sokuphuma kuma-devs ngaphambili sifushane (imizuzu engu-5), azikho izinkinga ngokuhlola ukuthi kwenzekani ngezitifiketi.

- Yonke into ihlolwe futhi ilungiswe, ngisho nasendaweni. Lokhu kusho ukuthi sizobhala isihloko esinazo zonke izici zobuchwepheshe, sikubonise, sikutshele yonke into ngemidwebo, ukuthi bekunjani.

U-Vladimir: Ungayithatha futhi uyiphinde.

- Ezinyangeni ezi-3.

Umphumela

- Konke okuchazwe ndawonye kuzwakala kupholile, uma kucatshangelwa ukuthi kwenziwa iqembu elincane ezinyangeni ezintathu.

UNikolay: Iqembu elikhulu belingeke likwenze lokhu. Kodwa iqembu elincane labantu elixhumana eduze futhi kahle nomunye futhi lingafinyelela esivumelwaneni. Abanakho ukuphikisana, ukwakheka kwasungulwa ngezinsuku ezimbili, kwaphothulwa futhi akukashintshi ngempela. Kukhona ukwenza lula okuqinile kwezidingo zebhizinisi ezingenayo mayelana nokunqwabelana kwezicelo zesici nezinguquko.

- Yini eyayisohlwini lwakho lweminye imisebenzi lapho izingqungquthela zasehlobo zase zenzeke kakade?

UNikolay: Isibonelo, amakhredithi. Imigqa enwabuzelayo kuvidiyo, izigelekeqe kwezinye izindawo kuvidiyo kuye ngokuqukethwe okuboniswayo. Isibonelo, isikhulumi sifuna ukubuza umbuzo ezilalelini, futhi ivoti livela esikrinini, elibuyela emuva ngokusekelwe emiphumeleni yokuvota kusipika ngokwakhe. Uhlobo oluthile lomsebenzi womphakathi ngendlela yokuthandwa, izinhliziyo, izilinganiso zombiko phakathi nokwethulwa ngokwawo, ukuze ukwazi ukugcwalisa impendulo ngesikhathi esifanele ngaphandle kokuphazanyiswa kamuva ngamafomu empendulo. Ekuqaleni kanje.

Futhi ukwengeza kuyo yonke inkundla, ngaphandle kokusakaza kanye nengqungquthela, futhi isimo sangemva kwenkomfa. Lezi izinhlu zokudlalayo (kuhlanganise nalezo ezihlanganiswe abasebenzisi), okungenzeka okuqukethwe kwezinye izingqungquthela ezedlule, ezihlanganisiwe, ezinelebulayo, ezifinyeleleka kubasebenzisi, futhi ziyatholakala futhi ukuze zibukwe kuwebhusayithi yethu (live.jugru.org).

— Guys, ngiyabonga kakhulu ngezimpendulo zenu!

Uma phakathi kwabafundi kukhona abahambele izingqungquthela zethu zasehlobo, sicela wabelane ngemibono yakho yomdlali futhi usakaze. Yini ebikulungele, yini ekucasule, yini ongathanda ukuyibona esikhathini esizayo?

Uma unentshisekelo endaweni yesikhulumi futhi ufuna ukuyibona “empini”, siyisebenzisa futhi kweyethu izingqungquthela zasekwindla-ebusika. Kukhona inqwaba yazo, ngakho-ke cishe kukhona eyodwa ekulungele.

Source: www.habr.com

Engeza amazwana