Leasaich àrd-ùrlar bhidio ann an 90 latha

As t-Earrach seo bha sinn ann an suidheachaidhean glè thoilichte. Mar thoradh air a’ ghalair lèir-sgaoilte, thàinig e am follais gum feumadh na co-labhairtean samhraidh againn a ghluasad air-loidhne. Agus gus an giùlan gu h-èifeachdach air-loidhne, cha robh fuasglaidhean bathar-bog deiseil freagarrach dhuinn; dh'fheumadh sinn ar cuid fhìn a sgrìobhadh. Agus bha trì mìosan againn airson seo a dhèanamh.

Tha e soilleir gur e trì mìosan brosnachail a th’ air a bhith ann. Ach bhon taobh a-muigh chan eil e gu tur follaiseach: dè a th’ ann an àrd-ùrlar co-labhairt air-loidhne? Dè na pàirtean anns a bheil e? Mar sin, aig na co-labhairtean DevOops mu dheireadh as t-samhradh, dh’fhaighnich mi dhaibhsan a bha an urra ris a’ ghnìomh seo:

  • Nikolay Molchanov - stiùiriche teicnigeach JUG Ru Group;
  • Tha Vladimir Krasilshchik na phrògramadair pragmatach Java ag obair air an deireadh-sheachdain (chitheadh ​​​​tu cuideachd na h-aithisgean aige aig na co-labhairtean Java againn);
  • Tha Artyom Nikonov an urra ris a h-uile sruth bhidio againn.

Air an t-slighe, aig co-labhairtean an fhoghair-geamhraidh cleachdaidh sinn dreach leasaichte den aon àrd-ùrlar - bidh uimhir de luchd-leughaidh habra fhathast nan luchd-cleachdaidh.

Leasaich àrd-ùrlar bhidio ann an 90 latha

An dealbh mòr

- Dè an cumadh a bha air an sgioba?

Nikolay Molchanov: Tha anailis againn, dealbhaiche, neach-dearbhaidh, trì aghaidh-aghaidh, agus ceann-cùil. Agus, gu dearbh, eòlaiche ann an cumadh T!

- Cò ris a bha am pròiseas coltach san fharsaingeachd?

Nikolay: Gu meadhan a’ Mhàirt, cha robh dad againn deiseil airson air-loidhne idir. Agus air 15 Màrt, thòisich an carousel air-loidhne gu lèir a’ snìomh. Stèidhich sinn grunn stòran, dhealbhaich sinn, bheachdaich sinn air an ailtireachd bunaiteach agus rinn sinn a h-uile càil ann an trì mìosan.

Chaidh seo, gu dearbh, tro na h-ìrean clasaigeach de phlanadh, ailtireachd, taghadh feart, bhòtadh airson na feartan sin, poileasaidh airson na feartan sin, an dealbhadh, an leasachadh, an deuchainn. Mar thoradh air an sin, air 6 Ògmhios, chuir sinn a-mach a h-uile càil gu cinneasachadh. TechTrain. Bha 90 latha ann airson a h-uile càil.

— An deach againn air na rinn sinn gealltainn a choileanadh?

Nikolay: Leis gu bheil sinn a-nis a’ gabhail pàirt ann an co-labhairt DevOops air-loidhne, tha e a’ ciallachadh gun do dh’ obraich e. Gheall mi gu pearsanta am prìomh rud: bheir mi inneal do luchd-ceannach leis an urrainn dhaibh co-labhairt air-loidhne a dhèanamh.

B’ e seo an dùbhlan: thoir dhuinn inneal leis an urrainn dhuinn ar co-labhairtean a chraoladh gu luchd-gleidhidh thiogaidean.

Chaidh a h-uile dealbhadh a roinn ann an grunn ìrean, agus chaidh a h-uile feart (timcheall air 30 cruinne) a roinn ann an 4 roinnean:

  • nì sinn gu cinnteach (chan urrainn dhuinn a bhith beò às an aonais),
  • ni sinn san dara àite,
  • ni nach dean sinn gu bràth,
  • agus ni nach dean sinn gu brath, gu brath.

Rinn sinn a h-uile feart bhon chiad dà roinn.

- Tha fios agam gun deach 600 cùis JIRA gu h-iomlan a chruthachadh. Ann an trì mìosan, rinn thu 13 microservices, agus tha amharas agam gun deach an sgrìobhadh chan ann a-mhàin ann an Java. Chleachd thu diofar theicneòlasan, tha dà bhuidheann Kubernetes agad ann an trì sònaichean ruigsinneachd agus sruthan 5 RTMP ann an Amazon.

Bheir sinn a-nis sùil air gach pàirt den t-siostam fa leth.

Sruthadh

- Feuch an tòisich sinn nuair a tha ìomhaigh bhidio againn mu thràth, agus a thèid a chuir gu cuid de sheirbheisean. Artyom, innis dhuinn mar a tha an sruthadh seo a’ tachairt?

Artyom Nikonov: Tha an sgeama coitcheann againn a’ coimhead mar seo: ìomhaigh bhon chamara -> an seòmar smachd againn -> frithealaiche RTMP ionadail -> Amazon -> cluicheadair bhidio. Tuilleadh mion-fhiosrachaidh sgrìobh mu dheidhinn air Habré san Ògmhios.

San fharsaingeachd, tha dà dhòigh cruinneil ann airson seo a dhèanamh: an dàrna cuid air bathar-cruaidh no stèidhichte air fuasglaidhean bathar-bog. Thagh sinn an t-slighe bathar-bog oir tha e nas fhasa a thaobh luchd-labhairt iomallach. Chan eil e an-còmhnaidh comasach bathar-cruaidh a thoirt gu neach-labhairt ann an dùthaich eile, ach tha e nas fhasa agus nas earbsaiche bathar-bog a lìbhrigeadh don neach-labhairt.

Bho shealladh bathar-cruaidh, tha àireamh sònraichte de chamarathan againn (anns na stiùidiothan againn agus aig luchd-labhairt iomallach), àireamh sònraichte de smachdan iomallach san stiùidio, a dh’ fheumar uaireannan a chàradh dìreach fon bhòrd rè a ’chraolaidh.

Bidh comharran bho na h-innealan sin a’ dol a-steach do choimpiutairean le cairtean glacaidh, cairtean cuir a-steach / toraidh, agus cairtean fuaim. An sin tha na comharran air an measgachadh agus air an cruinneachadh ann an dealbhadh:

Leasaich àrd-ùrlar bhidio ann an 90 latha
Eisimpleir de chruth airson 4 luchd-labhairt

Leasaich àrd-ùrlar bhidio ann an 90 latha
Eisimpleir de chruth airson 4 luchd-labhairt

A bharrachd air an sin, tha craoladh leantainneach air a thoirt seachad le cuideachadh bho thrì choimpiutairean: tha aon phrìomh inneal agus paidhir obrach ann an tionndadh. Bidh a 'chiad choimpiutair a' cruinneachadh a 'chiad aithisg, an dàrna fear - a' bhriseadh, a 'chiad - an ath aithisg, an dàrna fear - an ath bhriseadh, agus mar sin air adhart. Agus bidh am prìomh inneal a 'measgachadh a' chiad fhear leis an dàrna fear.

Bidh seo a’ cruthachadh seòrsa de thriantan, agus ma dh’ fhailicheas gin de na nodan sin, is urrainn dhuinn gu sgiobalta agus gun chall càileachd cumail oirnn a’ lìbhrigeadh susbaint do luchd-dèiligidh. Bha suidheachadh mar sin againn. Tron chiad seachdain de cho-labhairtean, shuidhich sinn aon inneal, thionndaidh sinn air / dheth e. Tha e coltach gu bheil daoine toilichte le ar tapachd.

An uairsin, bidh na sruthan bho na coimpiutairean a’ dol gu frithealaiche ionadail, aig a bheil dà ghnìomh: sruthan RTMP slighe agus clàraich cùl-taic. Mar sin tha grunn phuingean clàraidh againn. Thèid na sruthan bhidio an uairsin a chuir chun phàirt den t-siostam againn a chaidh a thogail air seirbheisean Amazon SaaS. Bidh sinn a 'cleachdadh MediaLive,S3,CloudFront.

Nikolay: Dè thachras an sin mus ruig am bhidio an luchd-èisteachd? Feumaidh tu a ghearradh ann an dòigh air choreigin, ceart?

Artiom: Bidh sinn a’ teannachadh a’ bhidio ar pàirt agus ga chuir gu MediaLive. Bidh sinn a’ cur air bhog transcoders an sin. Bidh iad ag ath-chòdachadh bhideothan ann an àm fìor gu grunn rùintean gus an urrainn do dhaoine coimhead orra air na fònaichean aca, tro dhroch eadar-lìn san dùthaich, agus mar sin air adhart. An uairsin tha na sruthan sin air an gearradh a-steach pìosan, seo mar a tha am protocol ag obair HLS. Bidh sinn a’ cur liosta-cluiche chun an aghaidh anns a bheil comharran dha na pìosan sin.

— A bheil sinn a’ cleachdadh rùn 1080p?

Artiom: Tha leud a 'bhidio againn an aon rud ri 1080p - 1920 piogsail, agus tha an àirde beagan nas lugha, tha an dealbh nas fhaide - tha adhbharan ann airson seo.

Cluicheadair

- Mhìnich Artyom mar a bhios a’ bhidio a ’dol a-steach do shruthan, mar a tha e air a chuairteachadh gu diofar liostaichean-cluiche airson diofar rèiteachaidhean sgrion, air a ghearradh ann am pìosan agus a’ faighinn a-steach don chluicheadair. Kolya, a-nis innis dhomh dè an seòrsa cluicheadair a tha seo, mar a bhios e ag ithe an t-sruth, carson HLS?

Nikolay: Tha cluicheadair againn a dh’ fhaodas a h-uile neach-amhairc co-labhairt fhaicinn.

Leasaich àrd-ùrlar bhidio ann an 90 latha

Gu bunaiteach, is e pasgan timcheall an leabharlainn a tha seo hls.js, air a bheil mòran chluicheadairean eile air an sgrìobhadh. Ach bha feum againn air comas-gnìomh fìor shònraichte: ag ath-fhilleadh agus a’ comharrachadh an àite far a bheil an neach, dè an aithisg a tha e a’ coimhead an-dràsta. Bha feum againn cuideachd air na dreachan againn fhèin, a h-uile seòrsa de shuaicheantas agus a h-uile càil eile a chaidh a thogail a-steach leinn. Mar sin, chuir sinn romhainn an leabharlann againn fhèin a sgrìobhadh (còmhdaich thairis air HLS) agus a chuir a-steach air an làrach.

Is e seo am feart bunaiteach, agus mar sin chaidh a chuir an gnìomh cha mhòr an toiseach. Agus an uairsin dh'fhàs a h-uile càil timcheall air.

Gu dearbh, tro chead, bidh an cluicheadair a’ faighinn bhon backend liosta-cluiche le ceanglaichean gu pìosan co-cheangailte ri ùine is càileachd, a’ luchdachadh sìos an fheadhainn a tha riatanach agus gan sealltainn don neach-cleachdaidh, a’ coileanadh beagan “draoidheachd” air an t-slighe.

Leasaich àrd-ùrlar bhidio ann an 90 latha
Eisimpleir clàr-ama

- Tha putan air a thogail a-steach don chluicheadair gus loidhne-tìm de na h-aithisgean uile a thaisbeanadh ...

Nikolay: Seadh, dh’ fhuasgail sinn sa bhad duilgheadas seòladh luchd-cleachdaidh. Ann am meadhan a’ Ghiblein, cho-dhùin sinn nach biodh sinn a’ craoladh gach aon de na co-labhairtean againn air làrach-lìn air leth, ach gun cuireadh sinn a h-uile càil còmhla air aon. Gus an urrainn do luchd-cleachdaidh tiogaidean Full Pass gluasad gu saor eadar diofar cho-labhairtean: an dà chuid craolaidhean beò agus clàraidhean de fheadhainn a dh’ fhalbh.

Agus gus a dhèanamh nas fhasa do luchd-cleachdaidh an t-sruth gnàthach a sheòladh agus gluasad eadar slighean, chuir sinn romhainn putan “craoladh slàn” agus cairtean aithris còmhnard a dhèanamh airson gluasad eadar slighean agus aithisgean. Tha smachd meur-chlàr ann.

- An robh duilgheadasan teicnigeach ann le seo?

Nikolay: Bha barra-scrollaidh aca air an robh puingean tòiseachaidh diofar aithisgean air an comharrachadh.

- Aig a’ cheann thall, an do chuir thu na comharran sin an gnìomh air a ’bhàr-scrollaidh mus do rinn YouTube rudeigin coltach ris?

Artiom: Bha e aca ann am beta an uairsin. Tha e coltach gur e feart gu math toinnte a tha seo leis gu bheil iad air a bhith ga dheuchainn gu ìre le luchd-cleachdaidh thairis air a’ bhliadhna a dh’ fhalbh. Agus a-nis tha e air reic a ruighinn.

Nikolay: Ach dha-rìribh fhuair sinn e airson a reic nas luaithe. Gu h-onarach, air cùl na feart sìmplidh seo tha tòrr backend, frontend, àireamhachadh agus matamataigs taobh a-staigh a’ chluicheadair.

Ceann aghaidh

- Feuch an obraich sinn a-mach ciamar a tha an susbaint seo a tha sinn a’ sealltainn (cairt cainnte, luchd-labhairt, làrach-lìn, clàr) a’ faighinn chun cheann aghaidh?

Vladimir Krasilshchik: Tha grunn shiostaman IT againn a-staigh. Tha siostam ann anns am bi a h-uile aithisg agus a h-uile neach-labhairt air an cur a-steach. Tha pròiseas ann far am bi neach-labhairt a’ gabhail pàirt ann an co-labhairt. Bidh an neach-labhairt a’ cur a-steach iarrtas, bidh an siostam ga ghlacadh, agus an uairsin tha loidhne-phìoban sònraichte ann a rèir an deach an aithisg a chruthachadh.

Leasaich àrd-ùrlar bhidio ann an 90 latha
Seo mar a chì an neach-labhairt an loidhne-phìoban

Is e an siostam seo ar leasachadh taobh a-staigh.

An ath rud, feumaidh tu clàr a thogail bho aithisgean fa leth. Mar a tha fios agad, is e duilgheadas NP-cruaidh a tha seo, ach bidh sinn dòigh air choireigin ga fhuasgladh. Gus seo a dhèanamh, bidh sinn a’ cur air bhog pàirt eile a bhios a’ gineadh clàr-ama agus ga luchdachadh suas chun t-seirbheis sgòthan treas-phàrtaidh Contentful. An sin, tha a h-uile dad coltach ri clàr anns a bheil làithean den cho-labhairt, anns na làithean tha amannan ann, agus anns na slotan tha aithisgean, briseadh no gnìomhan urrasachd. Mar sin tha an susbaint a chì sinn suidhichte ann an seirbheis treas-phàrtaidh. Agus is e an obair a thoirt don làrach.

Bhiodh e coltach nach eil anns an làrach ach duilleag le cluicheadair, agus chan eil dad iom-fhillte an seo. Seach nach eil. Tha an cùl-taic air cùl na duilleige seo a’ dol gu Susbaint, a’ faighinn a’ chlàr às an sin, a’ gineadh cuid de nithean agus ga chuir chun aghaidh. A’ cleachdadh ceangal websocket, a bhios a h-uile neach-dèiligidh den àrd-ùrlar againn a’ dèanamh, bidh sinn a’ cur fios thuige chun chlàr bhon deireadh-sheachdain chun aghaidh.

Fìor chùis: dh'atharraich an neach-labhairt obraichean ceart tron ​​​​cho-labhairt. Feumaidh sinn suaicheantas a’ chompanaidh fhastaidh aige atharrachadh. Ciamar a tha seo a’ tachairt bhon chùl-raon? Thèid ùrachadh a chuir chun a h-uile neach-dèiligidh tron ​​​​socket lìn, agus an uairsin bidh an aghaidh fhèin ag ath-dhealbhadh an loidhne-tìm. Bidh seo uile a’ tachairt gun fhiosta. Tha an cothlamadh den t-seirbheis sgòthan agus grunn de na co-phàirtean againn a’ toirt cothrom dhuinn an t-susbaint seo gu lèir a ghineadh agus a thoirt seachad air beulaibh.

Nikolay: Tha e cudromach soilleireachadh an seo nach e tagradh clasaigeach SPA a th’ anns an làrach againn. Is e seo an dà chuid làrach-lìn stèidhichte air cruth, air a thoirt seachad agus SPA. Tha Google dha-rìribh a’ faicinn an làrach seo mar HTML air a thoirt seachad. Tha seo math airson SEO agus airson susbaint a lìbhrigeadh don neach-cleachdaidh. Cha bhith e a’ feitheamh ri 1,5 megabytes de JavaScript a luchdachadh mus faic e an duilleag, chì e sa bhad an duilleag a chaidh a thoirt seachad mu thràth, agus bidh thu ga fhaicinn a h-uile uair a thionndaidheas tu an aithisg. Bidh a h-uile dad a ’tachairt ann an leth diog, leis gu bheil an susbaint deiseil mu thràth agus air a phostadh san àite cheart.

- Tarraing loidhne fon a h-uile rud gu h-àrd le bhith a’ liostadh nan teicneòlasan. Thuirt Tyoma gu bheil 5 sruthan Amazon againn, agus bidh sinn a’ lìbhrigeadh bhidio is fuaim an sin. Tha sgriobtaichean bash againn an sin, bidh sinn gan cleachdadh airson a chuir air bhog agus a rèiteachadh ...

Artiom: Bidh seo a’ tachairt tron ​​​​AWS API, tha tòrr a bharrachd sheirbheisean taobh teicnigeach ann. Roinn sinn ar dleastanasan gus an lìbhrig mi CloudFront, agus bidh luchd-leasachaidh aghaidh is cùil ga thoirt às an sin. Tha grunn de na ceanglachan againn fhèin gus cruth an t-susbaint a dhèanamh nas sìmplidhe, a nì sinn an uairsin ann an 4K, msaa. Leis gu robh na cinn-latha gu math teann, rinn sinn e cha mhòr gu tur air AWS.

- An uairsin thèid seo uile a-steach don chluicheadair a’ cleachdadh an t-siostam backend. Tha TypeScript, React, Next.JS nar cluicheadair. Agus air an deireadh-sheachdain tha grunn sheirbheisean againn ann an C#, Java, Spring Boot agus Node.js. Tha seo uile air a chleachdadh le bhith a 'cleachdadh Kubernetes a' cleachdadh bun-structair Yandex.Cloud.

Tha mi cuideachd airson a thoirt fa-near, nuair a dh'fheumadh mi eòlas fhaighinn air an àrd-ùrlar, bha e furasta: tha a h-uile stòr air GitLab, tha a h-uile dad air ainmeachadh gu math, tha deuchainnean sgrìobhte, tha sgrìobhainnean ann. Is e sin, eadhon ann am modh èiginn, thug iad aire do rudan mar sin.

Cuingeachaidhean Gnìomhachais agus Analytics

- Chuir sinn targaid air 10 neach-cleachdaidh stèidhichte air riatanasan gnìomhachais. Tha an t-àm ann bruidhinn mu na cuingeadan gnìomhachais a bh’ againn. Bha againn ri dèanamh cinnteach à eallach obrach àrd, dèanamh cinnteach gu bheilear a’ cumail ris an lagh air glèidheadh ​​dàta pearsanta. Agus dè eile?

Nikolay: An toiseach, thòisich sinn bho riatanasan bhidio. Is e an rud as cudromaiche stòradh bhidio air feadh an t-saoghail airson lìbhrigeadh luath don neach-dèiligidh. Tha cuid eile a’ toirt a-steach rùn 1080p, a bharrachd air ath-fhilleadh, nach bi mòran eile a’ cur an gnìomh ann am modh beò. Nas fhaide air adhart chuir sinn ris a’ chomas astar 2x a chomasachadh, le a chuideachadh faodaidh tu “glacadh suas” leis na beò agus cumail a’ coimhead air a’ cho-labhairt ann an àm fìor. Agus air an t-slighe, nochd comas comharrachaidh loidhne-tìm. A bharrachd air an sin, dh'fheumadh sinn a bhith fulangach le lochdan agus seasamh an-aghaidh an luchd de 10 ceangal. Bho shealladh cùl-fhiosrachaidh, tha seo timcheall air 000 ceangal air an iomadachadh le 10 iarrtasan airson gach duilleag ùrachadh. Agus tha seo mu thràth 000 RPS / diog. Gu math beagan.

— An robh riatanasan sam bith eile ann airson “taisbeanadh mas-fhìor” le ionadan air-loidhne de chom-pàirtichean?

Nikolay: Bha, dh'fheumadh seo a dhèanamh gu math luath agus uile-choitcheann. Bha suas ri 10 companaidhean com-pàirteach againn airson gach co-labhairt, agus dh'fheumadh iad uile a bhith air an crìochnachadh ann an seachdain no dhà. Ach, tha an susbaint aca beagan eadar-dhealaichte ann an cruth. Ach chaidh einnsean teamplaid sònraichte a dhèanamh a bhios a’ cruinneachadh nan duilleagan sin air an itealan, le cha mhòr nach eil com-pàirt leasachaidh sam bith ann.

- Bha riatanasan ann cuideachd airson mion-sgrùdadh air beachdan agus staitistig fìor-ùine. Tha fios agam gu bheil sinn a 'cleachdadh Prometheus airson seo, ach innis dhuinn nas mionaidiche: dè na riatanasan a tha sinn a' coinneachadh airson anailisean, agus ciamar a tha seo air a chur an gnìomh?

Nikolay: An toiseach, tha riatanasan margaidheachd againn airson a bhith a’ cruinneachadh airson deuchainn A/B agus a’ cruinneachadh fiosrachaidh gus tuigse fhaighinn air mar a lìbhrigeas sinn an susbaint as fheàrr don neach-dèiligidh san àm ri teachd. Tha riatanasan ann cuideachd airson cuid de mhion-sgrùdaidhean air gnìomhan com-pàirtiche agus an anailis a chì thu (cuntair tadhal). Tha a h-uile fiosrachadh air a chruinneachadh ann an àm fìor.

Is urrainn dhuinn am fiosrachadh seo a thoirt seachad ann an cruth iomlan eadhon do luchd-labhairt: cia mheud duine a bha gad choimhead aig àm sònraichte. Aig an aon àm, gus gèilleadh ri Lagh Feadarail 152, chan eilear a’ cumail sùil air a’ chunntas pearsanta agad agus an dàta pearsanta agad ann an dòigh sam bith.

Tha innealan margaidheachd aig an àrd-ùrlar mu thràth agus na meatrach againn airson gnìomhachd luchd-cleachdaidh a thomhas ann an àm fìor (cò choimhead dè an dàrna cuid den aithisg) gus grafaichean làthaireachd a thogail aig na h-aithisgean. Stèidhichte air an dàta seo, tha rannsachadh ga dhèanamh a nì na h-ath cho-labhairtean nas fheàrr.

Foill

- A bheil dòighean an-aghaidh foill againn?

Nikolay: Air sgàth an fhrèam-ama teann bho shealladh gnìomhachais, cha deach a’ ghnìomh a shuidheachadh an toiseach gus ceanglaichean neo-riatanach a bhacadh sa bhad. Nam biodh dithis chleachdaichean air logadh a-steach fon aon chunntas, b’ urrainn dhaibh an t-susbaint fhaicinn. Ach tha fios againn cia mheud sealladh aig an aon àm a bha ann bho aon chunntas. Agus chuir sinn casg air grunn violators gu sònraichte droch-rùnach.

Vladimir: Gus a chreidsinn, thuig aon den luchd-cleachdaidh toirmisgte carson a thachair seo. Thàinig e, ghabh e a leisgeul agus gheall e tiogaid a cheannach.

- Gus seo a dhèanamh, feumaidh tu a h-uile neach-cleachdaidh a lorg gu tur bho inntrigeadh gu fàgail, fios a bhith agad dè a tha iad a’ dèanamh. Ciamar a tha an siostam seo ag obair?

Vladimir: Bu mhath leam bruidhinn air mion-sgrùdaidhean agus staitistig, a bhios sinn an uairsin a’ sgrùdadh airson soirbheachas na h-aithisg no as urrainn dhuinn a thoirt do chom-pàirtichean. Tha a h-uile neach-dèiligidh ceangailte tro cheangal websocket ri buidheann backend sònraichte. Tha e na sheasamh an sin calltainn. Bidh gach neach-dèiligidh aig gach àm a 'cur na tha e a' dèanamh agus dè an t-slighe a tha e a 'coimhead. An uairsin tha am fiosrachadh seo air a chruinneachadh le bhith a’ cleachdadh obraichean luath Hazelcast agus air a chuir air ais chun a h-uile duine a choimheadas na slighean sin. Chì sinn anns an oisean cia mheud duine a tha còmhla rinn a-nis.

Leasaich àrd-ùrlar bhidio ann an 90 latha

Tha an aon fhiosrachadh air a stòradh ann Mongo agus a’ dol chun loch dàta againn, às am bi cothrom againn graf nas inntinniche a thogail. Tha a’ cheist ag èirigh: cia mheud neach-cleachdaidh gun samhail a choimhead air an aithisg seo? Thèid sinn gu postgres, tha pinginnean de na h-uile dhaoine a thàinig leis an aithris seo. Chruinnich sinn, chruinnich sinn feadhainn gun samhail, agus a-nis is urrainn dhuinn tuigsinn.

Nikolay: Ach aig an aon àm, bidh sinn cuideachd a’ faighinn dàta fìor-ùine bho Prometheus. Tha e air a shuidheachadh an aghaidh a h-uile seirbheis Kubernetes, an aghaidh Kubernetes fhèin. Bidh e a’ cruinneachadh a h-uile càil, agus le Grafana is urrainn dhuinn grafaichean sam bith a thogail ann an àm fìor.

Vladimir: Air an aon làimh, bidh sinn a’ luchdachadh sìos seo airson tuilleadh giollachd OLAP. Agus airson OLTP, bidh an aplacaid a’ luchdachadh sìos an rud gu lèir gu Prometheus, Grafana agus tha na grafaichean eadhon a’ tighinn còmhla!

- Tha seo fìor nuair a thig na grafaichean còmhla.

Atharrachaidhean Dynamic

- Inns dhuinn mar a tha atharrachaidhean fiùghantach air an sgaoileadh: ma chaidh an aithisg a chuir dheth 6 mionaidean ron toiseach, dè an sreath de ghnìomhan a th’ ann? Dè an loidhne-phìoban a bhios ag obair?

Vladimir: Tha an loidhne-phìoban gu math cumhach. Tha grunn chothroman ann. Is e a’ chiad fhear gun do dh’ obraich am prògram gineadh clàr-ama agus gun do dh’ atharraich e an clàr-ama. Tha an clàr atharraichte air a luchdachadh suas gu Contentful. Às deidh sin tha an backend a’ tuigsinn gu bheil atharrachaidhean ann airson a’ cho-labhairt seo ann an Susbaint, ga thoirt agus ag ath-thogail. Tha a h-uile càil air a chruinneachadh agus air a chuir tro websocket.

An dàrna cothrom, nuair a thachras a h-uile càil aig astar luath: bidh an neach-deasachaidh le làimh ag atharrachadh an fhiosrachaidh ann an Susbaint (ceangal gu Telegram, taisbeanadh neach-labhairt, msaa) agus bidh an aon reusanachadh ag obair ris a’ chiad uair.

Nikolay: Bidh a h-uile dad a’ tachairt gun a bhith ag ùrachadh na duilleige. Bidh a h-uile atharrachadh a’ tachairt gu tur gun fhiosta don neach-dèiligidh. Tha an aon rud fìor airson aithisgean atharrachadh. Nuair a thig an t-àm, bidh an aithisg agus an eadar-aghaidh ag atharrachadh.

Vladimir: Cuideachd, tha gearraidhean ùine ann airson tòiseachadh aithisgean san loidhne-tìm. Aig an fhìor thoiseach chan eil dad ann. Agus ma chuireas tu do luchag thairis air an stripe dearg, an uairsin aig àm air choreigin, le taing don stiùiriche craolaidh, nochdaidh gearraidhean. Bidh an stiùiriche a’ suidheachadh toiseach tòiseachaidh ceart a ’chraolaidh, bidh an backend a’ togail an atharrachaidh seo, a ’tomhas amannan tòiseachaidh is crìochnachaidh taisbeanaidhean an t-slighe gu lèir a rèir clàr na co-labhairt, ga chuir chun luchd-dèiligidh againn, agus bidh an cluicheadair a’ tarraing gearraidhean. A-nis is urrainn don neach-cleachdaidh seòladh gu toiseach is deireadh na h-aithisg gu furasta. Bha e na riatanas gnìomhachais teann, glè ghoireasach agus feumail. Cha bhith thu a’ caitheamh ùine a’ lorg an fhìor ùine tòiseachaidh airson na h-aithisg. Agus nuair a nì sinn ro-shealladh, bidh e gu math mìorbhaileach.

Cleachdadh

- Bu mhath leam faighneachd mu chleachdadh. Chuir Kolya agus an sgioba seachad mòran ùine aig an toiseach a 'stèidheachadh a' bhun-structair gu lèir anns am bi a h-uile càil a 'fàs dhuinne. Innis dhomh, de tha e uile air a dhèanamh?

Nikolay: Bho thaobh teignigeach, bha e mar riatanas oirnn an toiseach gum biodh an toradh cho eas-chruthach sa ghabhas bho neach-reic sam bith. Thig gu AWS gus sgriobtaichean Terraform a dhèanamh gu sònraichte bho AWS, no gu sònraichte bho Yandex, no bho Azure, msaa. cha robh e gu tur iomchaidh. Bha againn ri gluasad a dh’ àiteigin uaireigin.

Airson a’ chiad trì seachdainean bha sinn an-còmhnaidh a’ coimhead airson dòigh air seo a dhèanamh nas fheàrr. Mar thoradh air an sin, thàinig sinn chun cho-dhùnadh gur e Kubernetes sa chùis seo a h-uile dad a th ’againn, oir leigidh e leinn seirbheisean sgèile fèin-ghluasadach a chruthachadh, sgaoileadh fèin-ghluasadach, agus cha mhòr a h-uile seirbheis fhaighinn a-mach às a’ bhogsa. Gu nàdarra, dh'fheumadh a h-uile seirbheis a bhith air an trèanadh gus obrachadh le Kubernetes, Docker, agus bha aig an sgioba ri ionnsachadh cuideachd.

Tha dà bhuidheann againn. Deuchainn agus cinneasachadh. Tha iad gu tur co-ionann a thaobh bathar-cruaidh is suidheachaidhean. Bidh sinn a’ cur an gnìomh bun-structair mar chòd. Tha na seirbheisean uile air an sgaoileadh gu fèin-ghluasadach ann an trì àrainneachdan bho mheuran feart, prìomh mheuran, meuran deuchainn, agus GitLab a’ cleachdadh loidhne-phìoban fèin-ghluasadach. Tha seo air fhilleadh a-steach aig a’ char as àirde a-steach do GitLab, amalaichte as motha le Elastic, Prometheus.

Bidh sinn a’ faighinn cothrom gu sgiobalta (airson an backend taobh a-staigh 10 mionaidean, airson an aghaidh taobh a-staigh 5 mionaidean) atharrachaidhean a chuir a-steach gu àrainneachd sam bith leis a h-uile deuchainn, amalachadh, ruith deuchainnean gnìomh, deuchainnean amalachaidh air an àrainneachd, agus cuideachd deuchainn le deuchainnean luchdan air. àrainneachd deuchainn timcheall air an aon rud a tha sinn airson faighinn ann an cinneasachadh.

Mu dheuchainnean

- Bidh thu a’ dèanamh deuchainn air cha mhòr a h-uile càil, tha e duilich a chreidsinn mar a sgrìobh thu a h-uile càil. An urrainn dhut innse dhuinn mu na deuchainnean cùl-fhiosrachaidh: dè an ìre a tha a h-uile càil air a chòmhdach, dè na deuchainnean?

Vladimir: Chaidh dà sheòrsa deuchainn a sgrìobhadh. Is e a’ chiad fhear deuchainnean co-phàirteach. Deuchainnean ìre togail den iarrtas earraich gu lèir agus cuir a-steach Luchd-gleidhidh deuchainn. Is e seo deuchainn air na suidheachaidhean gnìomhachais as àirde. Cha bhith mi a’ dèanamh deuchainn air gnìomhan. Cha dèan sinn deuchainn ach air cuid de rudan mòra. Mar eisimpleir, dìreach anns an deuchainn, tha am pròiseas logadh a-steach do neach-cleachdaidh air aithris, iarrtas an neach-cleachdaidh airson tiogaidean far an tèid e, agus iarrtas airson ruigsinneachd gus an t-sruth fhaicinn. Suidheachaidhean cleachdaiche gu math soilleir.

Tha timcheall air an aon rud air a chuir an gnìomh anns na deuchainnean amalachaidh ris an canar, a tha dha-rìribh a’ ruith air an àrainneachd. Gu dearbh, nuair a thèid an ath chleachdadh ann an cinneasachadh a sgaoileadh, tha fìor shuidheachaidhean bunaiteach cuideachd a’ ruith ann an cinneasachadh. An aon logadh a-steach, ag iarraidh tiogaidean, ag iarraidh ruigsinneachd gu CloudFront, a ’dèanamh cinnteach gu bheil an t-sruth a’ ceangal gu fìrinneach ris na ceadan agam, a ’sgrùdadh eadar-aghaidh an stiùiriche.

Aig an àm seo tha timcheall air 70 deuchainn co-phàirteach agus timcheall air 40 deuchainn amalachaidh air bòrd. Tha an còmhdach gu math faisg air 95%. Tha seo airson feadhainn co-phàirteach, nas lugha airson feadhainn amalachaidh, gu sìmplidh chan eil uimhir a dhìth. Leis gu bheil am pròiseact a’ toirt a-steach a h-uile seòrsa de ghineadh còd, tha seo na chomharradh fìor mhath. Cha robh dòigh eile air na rinn sinn ann an trì mìosan a dhèanamh. Oir nan dèanadh sinn deuchainn le làimh, a’ toirt feartan don neach-deuchainn againn, agus gun lorgadh i biastagan agus gun cuireadh i air ais iad thugainn airson fuasglaidhean, bhiodh an turas cruinn seo gus a’ chòd a dheasbad glè fhada, agus cha bhiodh sinn a’ coinneachadh ri cinn-latha sam bith.

Nikolay: Gu h-àbhaisteach, gus ath-thionndadh a dhèanamh air an àrd-ùrlar gu lèir nuair a dh'atharraicheas tu cuid de dhleastanas, feumaidh tu suidhe agus poke anns a h-uile àite airson dà latha.

Vladimir: Mar sin, tha e air leth soirbheachail nuair a tha mi a 'toirt tuairmse air feart, tha mi ag ràdh gu bheil feum agam air 4 latha airson dà phinn sìmplidh agus 1 websocket, tha Kolya a' ceadachadh. Tha e mar-thà cleachdte ris gu bheil na 4 làithean seo gabhail a-steach 2 sheòrsa de dheuchainnean, agus an uair sin, as coltaiche, bidh e ag obair.

Nikolay: Tha 140 deuchainn agam cuideachd sgrìobhte: co-phàirt + gnìomh, a nì an aon rud. Bithear a’ dèanamh deuchainn air na h-aon shuidheachaidhean ann an cinneasachadh, ann an deuchainn, agus ann an cinneasachadh. Chuir sinn cuideachd deuchainnean UI bunaiteach gnìomh o chionn ghoirid. San dòigh seo bidh sinn a’ còmhdach a’ ghnìomhachd as bunaitiche a dh’ fhaodadh tuiteam às a chèile.

Vladimir: Gu dearbh, is fhiach bruidhinn mu dheidhinn deuchainnean luchdan. Bha e riatanach an àrd-ùrlar a dhearbhadh fo luchd faisg air an fhìor fhear gus tuigse fhaighinn air mar a tha a h-uile càil, dè a tha a’ tachairt le Coineanach, dè tha a’ tachairt leis na JVMn, dè an ìre de chuimhne a tha a dhìth.

- Chan eil fios agam le cinnt a bheil sinn a’ dèanamh deuchainn air dad air taobh an t-srutha, ach tha cuimhne agam gu robh duilgheadasan ann le transcoders nuair a rinn sinn coinneamhan. An do rinn sinn deuchainn air na sruthan?

Artiom: Air a dhearbhadh gu ath-aithriseach. Ag eagrachadh choinneamhan. Ann a bhith a’ cur choinneamhan air dòigh, bha timcheall air 2300 tiogaid JIRA ann. Is e dìreach rudan coitcheann a tha seo a rinn daoine airson coinneamhan a dhèanamh. Thug sinn pàirtean den àrd-ùrlar gu duilleag air leth airson coinneamhan, a bha air a ruith le Kirill Tolkachev (bruidhinnkv).

Gus a bhith onarach, cha robh duilgheadasan mòra ann. Gu litearra uair no dhà ghlac sinn bugaichean caching air CloudFront, dh’ fhuasgail sinn e gu math luath - dìreach rinn sinn ath-dhealbhadh air na poileasaidhean. Bha mòran a bharrachd bhiteagan am measg dhaoine, anns na siostaman sruthadh air an làrach.

Rè na co-labhairtean, bha agam ri grunn às-mhalairt a bharrachd a sgrìobhadh gus barrachd uidheamachd agus seirbheisean a chòmhdach. Ann an cuid de dh’àiteachan bha agam ri na baidhsagalan agam fhìn a dhèanamh dìreach airson metrics. Chan eil saoghal bathar-cruaidh AV (claisneachd) glè rosach - tha seòrsa de “API” de uidheamachd agad air nach urrainn dhut buaidh a thoirt. Agus tha e fada bho bhith na fhìrinn gum faigh thu am fiosrachadh a tha a dhìth ort. Tha luchd-reic bathar-cruaidh gu math slaodach, agus tha e cha mhòr do-dhèanta na tha thu ag iarraidh fhaighinn bhuapa. Gu h-iomlan tha barrachd air pìosan bathar-cruaidh 100 ann, cha bhith iad a’ toirt seachad na tha a dhìth ort, agus bidh thu a’ sgrìobhadh às-mhalairt neònach agus gun fheum, leis an urrainn dhut co-dhiù dòigh air choireigin an siostam a dheasbad.

Uidheam

- Tha cuimhne agam mar a cheannaich sinn uidheamachd a bharrachd ro thoiseach nan co-labhairtean.

Artiom: Cheannaich sinn coimpiutairean, coimpiutairean-uchd, agus pacaidean bataraidh. Aig an àm seo faodaidh sinn a bhith beò gun dealan airson 40 mionaid. Anns an Ògmhios bha stoirmean mòra ann an St. Petersburg - agus mar sin bha an leithid de dhubh-bhualadh againn. Aig an aon àm, bidh grunn sholaraichean a’ tighinn thugainn le ceanglaichean optigeach bho dhiofar phuingean. Is e seo dha-rìribh 40 mionaid de dh’ ùine togail, nuair a bhios solais againn, fuaim, camarathan, msaa ag obair.

- Tha an aon sgeulachd againn leis an eadar-lìn. Anns an oifis far a bheil na stiùideothan againn suidhichte, shlaod sinn lìon fiadhaich eadar na làir.

Artiom: Tha 20 Gbit de fiber againn eadar ùrlaran. Nas fhaide air adhart air na làir, an àiteigin tha optics, an àiteigin nach eil optics ann, ach fhathast tha nas lugha de shianalan ann na feadhainn gigabit - bidh sinn a’ ruith bhidio orra eadar slighean na co-labhairt. San fharsaingeachd, tha e gu math goireasach a bhith ag obair air a’ bhun-structair agad fhèin; is ann ainneamh a nì thu seo aig co-labhairtean far-loidhne air làraich.

- Mus robh mi ag obair aig JUG Ru Group, chunnaic mi mar a chaidh seòmraichean bathar-cruaidh aig co-labhairtean far-loidhne a chuir air dòigh thar oidhche, far an robh monitor mòr leis a h-uile meatrach a thogas tu ann an Grafana. A-nis tha seòmar prìomh oifis ann cuideachd far am bi an sgioba leasachaidh a’ suidhe, a bhios rè na co-labhairt a’ càradh cuid de bhiteagan agus a’ leasachadh fheartan. Aig an aon àm, tha siostam sgrùdaidh ann a tha air a thaisbeanadh air scrion mòr. Bidh Artyom, Kolya agus balaich eile a’ suidhe agus a’ dèanamh cinnteach nach tuit e agus gun obraich e gu breagha.

Feòrachas agus duilgheadasan

- Bhruidhinn thu gu math mun fhìrinn gu bheil sruthadh againn le Amazon, tha cluicheadair ann leis an lìon, tha a h-uile dad sgrìobhte ann an diofar chànanan prògramaidh, fulangas locht agus riatanasan gnìomhachais eile air an toirt seachad, a ’toirt a-steach cunntas pearsanta a tha a’ faighinn taic airson buidhnean laghail agus daoine fa leth, agus is urrainn dhuinn amalachadh le cuideigin a’ cleachdadh OAuth 2.0, tha an-aghaidh foill, bacadh luchd-cleachdaidh. Is urrainn dhuinn atharrachaidhean a chuir a-steach gu dinamach oir rinn sinn gu math e, agus tha e uile air a dhearbhadh.

Tha ùidh agam faighinn a-mach dè na rudan neònach a bha an lùib a bhith a’ tòiseachadh rudeigin. An robh suidheachaidhean neònach air a bhith ann nuair a bha thu a’ leasachadh backend, frontend, rudeigin seòlta air tionndadh a-mach agus nach robh thu a’ tuigsinn dè a bu chòir dhut a dhèanamh leis?

Vladimir: Tha e coltach riumsa nach eil seo air tachairt ach airson nan trì mìosan a dh’ fhalbh. Gach latha. Mar a chì thu, chaidh m’ fhalt gu lèir a thoirt a-mach.

Leasaich àrd-ùrlar bhidio ann an 90 latha
Vladimir Krasilshchik às deidh 3 mìosan, nuair a thionndaidh geama de sheòrsa air choreigin agus cha do thuig duine dè a bu chòir a dhèanamh leis

A h-uile latha bha rudeigin mar seo ann, nuair a bha a leithid de mhionaid ann nuair a bheir thu air falbh e agus gun cuir thu do fhalt a-mach, no gun tuig thu nach eil duine ann, agus is urrainn dhut a dhèanamh a-mhàin. B’ e TechTrain a’ chiad tachartas mòr againn. Air 6 Ògmhios aig 2m cha robh sinn fhathast air an àrainneachd cinneasachaidh a chuir a-steach, bha Kolya ga sgaoileadh. Agus cha do dh'obraich an cunntas pearsanta mar fhrithealaiche ùghdarrais a' cleachdadh OAuth2.0. Thionndaidh sinn e gu bhith na sholaraiche OAuth2.0 gus an àrd-ùrlar a cheangal ris. Bha mi air a bhith ag obair airson is dòcha 18 uairean dìreach, choimhead mi air a’ choimpiutair agus chan fhaca mi dad, cha robh mi a’ tuigsinn carson nach robh e ag obair, agus choimhead Kolya air a’ chòd agam air astar, choimhead mi airson bug ann an rèiteachadh an Earraich , lorg e e, agus dh'obraich an LC, agus ann an riochdachadh cuideachd.

Nikolay: Agus uair a thìde ro TechTrain chaidh an leigeil ma sgaoil.

Bha mòran rionnagan ceangailte an seo. Bha sinn air leth fortanach oir bha sàr sgioba againn, agus bha a h-uile duine air am brosnachadh leis a’ bheachd a bhith ga dhèanamh air-loidhne. Na trì mìosan sin uile bha sinn air ar stiùireadh leis an fhìrinn gun do “rinn sinn YouTube.” Cha do leig mi leam fhìn m ’fhalt a reubadh a-mach, ach dh’ innis mi don h-uile duine gun obraicheadh ​​​​a h-uile càil a-mach, oir gu dearbh, chaidh a h-uile càil a thomhas o chionn fhada.

Mu choileanadh

— An innis thu dhomh cia mheud duine a bha air an làrach air aon shlighe? An robh cùisean coileanaidh ann?

Nikolay: Cha robh duilgheadasan coileanaidh ann, mar a thuirt sinn mu thràth. B’ e 1300 neach an àireamh as motha de dhaoine a bha an làthair aig aon aithisg, tha seo air Heisenbug.

- An robh duilgheadas sam bith ann le coimhead ionadail? Agus a bheil e comasach tuairisgeul teignigeach a bhith agad le diagraman air mar a tha e uile ag obair?

Nikolay: Nì sinn artaigil mu dheidhinn seo nas fhaide air adhart.

Faodaidh tu eadhon sruthan deasbaid gu h-ionadail. Cho luath ‘s a thòisich na co-labhairtean, dh’ fhàs e eadhon nas fhasa, oir nochd sruthan toraidh gun urrainn dhuinn coimhead fad na h-ùine.

Vladimir: Mar a tha mi ga thuigsinn, bha luchd-leasachaidh aghaidh ag obair gu h-ionadail le magadh, agus an uairsin, leis gu bheil an ùine airson sgaoileadh a-mach gu na devs air a bheulaibh cuideachd goirid (5 mionaidean), chan eil duilgheadasan ann le bhith a’ sgrùdadh dè a tha a ’dol leis na teisteanasan.

- Tha a h-uile dad air a dhearbhadh agus air a dhì-bhugachadh, eadhon gu h-ionadail. Tha seo a’ ciallachadh gum bi sinn a’ sgrìobhadh artaigil leis na feartan teicnigeach uile, a’ sealltainn dhut, ag innse dhut a h-uile càil le diagraman, mar a bha e.

Vladimir: Faodaidh tu a ghabhail agus a dhèanamh a-rithist.

— За 3 месяца.

An toradh

- Tha a h-uile dad a chaidh a mhìneachadh còmhla a’ faireachdainn fionnar, leis gun deach a dhèanamh le sgioba beag ann an trì mìosan.

Nikolay: Cha dèanadh sgioba mòr seo. Ach dh’ fhaodadh buidheann bheag de dhaoine a bhios a’ conaltradh gu math dlùth agus math ri chèile agus a thighinn gu aonta. Chan eil contrarrachdan sam bith aca, chaidh an ailtireachd a chruthachadh ann an dà latha, chaidh a chrìochnachadh agus chan eil e air atharrachadh. Tha cuideachadh gu math teann ann a thaobh riatanasan gnìomhachais a tha a’ tighinn a-steach a thaobh a bhith a’ càrnadh iarrtasan feart agus atharrachaidhean.

— Dè bha air do liosta de ghnìomhan eile nuair a bha na co-labhairtean samhraidh air gabhail àite mu thràth?

Nikolay: Mar eisimpleir, creideasan. Loidhnichean mòra air a 'bhidio, pop-ups ann an cuid de dh'àiteachan anns a' bhidio a rèir an t-susbaint a thathar a 'sealltainn. Mar eisimpleir, tha an neach-labhairt airson ceist fhaighneachd don luchd-èisteachd, agus nochdaidh bhòt air an sgrion, a tha a’ dol air ais chun chùl stèidhichte air toraidhean bhòtaidh don neach-labhairt fhèin. Seòrsa de ghnìomhachd sòisealta ann an cruth toil, cridheachan, rangachadh na h-aithisg rè an taisbeanaidh fhèin, gus an urrainn dhut fios air ais a lìonadh aig an àm cheart gun a bhith air do tharraing nas fhaide air adhart le foirmean fios-air-ais. An toiseach mar seo.

Agus cuideachd a 'cur ris an àrd-ùrlar gu lèir, ach a-mhàin sruthadh agus co-labhairt, cuideachd staid iar-cho-labhairt. Is iad sin liostaichean-cluiche (a’ gabhail a-steach an fheadhainn a chuir luchd-cleachdaidh ri chèile), is dòcha susbaint bho cho-labhairtean eile san àm a dh’ fhalbh, amalaichte, le bileagan, ruigsinneach don neach-cleachdaidh, agus cuideachd rim faicinn air an làrach-lìn againn (beò.jugru.org).

- Guys, mòran taing airson do fhreagairtean!

Ma tha am measg an luchd-leughaidh gu bheil an fheadhainn a bha an làthair aig na co-labhairtean samhraidh againn, feuch an roinn thu do bheachdan air a’ chluicheadair agus air a chraoladh. Dè a bha goireasach, dè a chuir irioslachd ort, dè a bhiodh tu airson fhaicinn san àm ri teachd?

Ma tha ùidh agad san àrd-ùrlar agus gu bheil thu airson fhaicinn “ann am blàr”, bidh sinn ga chleachdadh a-rithist air ar co-labhairtean foghair-geamhraidh. Tha raon farsaing dhiubh ann, agus mar sin cha mhòr gu cinnteach tha fear ann a tha ceart dhutsa.

Source: www.habr.com

Cuir beachd ann