90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి

ఈ వసంతకాలంలో మేము చాలా ఉల్లాసమైన పరిస్థితుల్లో ఉన్నాము. మహమ్మారి కారణంగా, మా వేసవి సమావేశాలను ఆన్‌లైన్‌కి తరలించాల్సిన అవసరం ఉందని స్పష్టమైంది. మరియు వాటిని ఆన్‌లైన్‌లో సమర్ధవంతంగా నిర్వహించడానికి, రెడీమేడ్ సాఫ్ట్‌వేర్ సొల్యూషన్‌లు మాకు సరిపోవు; మేము మా స్వంతంగా వ్రాయవలసి ఉంటుంది. మరియు దీన్ని చేయడానికి మాకు మూడు నెలల సమయం ఉంది.

మూడు నెలలుగా ఉత్కంఠగా సాగినట్లు స్పష్టమవుతోంది. కానీ బయటి నుండి ఇది పూర్తిగా స్పష్టంగా లేదు: ఆన్‌లైన్ సమావేశ వేదిక అంటే ఏమిటి? ఇది ఏ భాగాలను కలిగి ఉంటుంది? కాబట్టి, వేసవి DevOops సమావేశాల చివరిలో, నేను ఈ పనికి బాధ్యులను అడిగాను:

  • నికోలాయ్ మోల్చనోవ్ - JUG Ru గ్రూప్ యొక్క సాంకేతిక డైరెక్టర్;
  • Vladimir Krasilshchik బ్యాకెండ్‌లో పని చేస్తున్న ఒక ఆచరణాత్మక జావా ప్రోగ్రామర్ (మీరు మా జావా సమావేశాలలో అతని నివేదికలను కూడా చూడవచ్చు);
  • మా వీడియో స్ట్రీమింగ్ మొత్తానికి ఆర్టియోమ్ నికోనోవ్ బాధ్యత వహిస్తారు.

మార్గం ద్వారా, శరదృతువు-శీతాకాల సమావేశాలలో మేము అదే ప్లాట్‌ఫారమ్ యొక్క మెరుగైన సంస్కరణను ఉపయోగిస్తాము - చాలా మంది హబ్రా రీడర్‌లు ఇప్పటికీ దాని వినియోగదారులుగా ఉంటారు.

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి

పెద్ద చిత్రం

— జట్టు కూర్పు ఏమిటి?

నికోలాయ్ మోల్చనోవ్: మాకు విశ్లేషకుడు, డిజైనర్, టెస్టర్, ముగ్గురు ఫ్రంట్ ఎండర్‌లు మరియు బ్యాక్ ఎండ్ ఉన్నారు. మరియు, వాస్తవానికి, T- ఆకారపు నిపుణుడు!

- ప్రక్రియ సాధారణంగా ఎలా ఉంది?

నికోలాయ్: మార్చి మధ్య వరకు, మేము ఆన్‌లైన్‌లో ఏదీ సిద్ధంగా లేము. మరియు మార్చి 15 న, మొత్తం ఆన్‌లైన్ రంగులరాట్నం స్పిన్ చేయడం ప్రారంభించింది. మేము అనేక రిపోజిటరీలను ఏర్పాటు చేసాము, ప్లాన్ చేసాము, బేసిక్ ఆర్కిటెక్చర్ గురించి చర్చించాము మరియు మూడు నెలల్లో ప్రతిదీ చేసాము.

వాస్తవానికి, ఇది ప్లానింగ్, ఆర్కిటెక్చర్, ఫీచర్ ఎంపిక, ఆ ఫీచర్‌లకు ఓటింగ్, ఆ ఫీచర్‌ల కోసం పాలసీ, వాటి డిజైన్, డెవలప్‌మెంట్, టెస్టింగ్ వంటి క్లాసిక్ దశల ద్వారా వెళ్ళింది. ఫలితంగా, జూన్ 6 న, మేము ప్రతిదాన్ని ఉత్పత్తికి విడుదల చేసాము. టెక్ట్రైన్. ప్రతిదానికీ 90 రోజులు ఉన్నాయి.

— మేము కట్టుబడి ఉన్నదానిని సాధించగలిగామా?

నికోలాయ్: మేము ఇప్పుడు ఆన్‌లైన్‌లో DevOops కాన్ఫరెన్స్‌లో పాల్గొంటున్నందున, అది పని చేసిందని అర్థం. నేను వ్యక్తిగతంగా ప్రధాన విషయానికి కట్టుబడి ఉన్నాను: కస్టమర్‌లు ఆన్‌లైన్ కాన్ఫరెన్స్‌ని నిర్వహించగల సాధనాన్ని నేను తీసుకువస్తాను.

సవాలు ఇది: టిక్కెట్ హోల్డర్‌లకు మా సమావేశాలను ప్రసారం చేయడానికి మాకు ఒక సాధనాన్ని అందించండి.

అన్ని ప్రణాళికలు అనేక దశలుగా విభజించబడ్డాయి మరియు అన్ని లక్షణాలు (సుమారు 30 గ్లోబల్) 4 వర్గాలుగా విభజించబడ్డాయి:

  • మేము ఖచ్చితంగా చేస్తాము (అవి లేకుండా మనం జీవించలేము)
  • మేము రెండవది చేస్తాము,
  • మేము ఎప్పటికీ చేయము
  • మరియు మనం ఎప్పటికీ చేయము.

మేము మొదటి రెండు వర్గాల నుండి అన్ని లక్షణాలను తయారు చేసాము.

— మొత్తం 600 JIRA సంచికలు సృష్టించబడినట్లు నాకు తెలుసు. మూడు నెలల్లో, మీరు 13 మైక్రోసర్వీస్‌లు చేసారు మరియు అవి జావాలో మాత్రమే వ్రాయబడిందని నేను అనుమానిస్తున్నాను. మీరు విభిన్న సాంకేతికతలను ఉపయోగించారు, మీకు మూడు లభ్యత జోన్‌లలో రెండు కుబెర్నెట్స్ క్లస్టర్‌లు మరియు Amazonలో 5 RTMP స్ట్రీమ్‌లు ఉన్నాయి.

ఇప్పుడు సిస్టమ్ యొక్క ప్రతి భాగాన్ని విడిగా చూద్దాం.

స్ట్రీమింగ్

— మనం ఇప్పటికే వీడియో ఇమేజ్‌ని కలిగి ఉన్నప్పుడు మరియు అది కొన్ని సేవలకు ప్రసారం చేయబడినప్పుడు ప్రారంభిద్దాం. ఆర్టియోమ్, ఈ స్ట్రీమింగ్ ఎలా జరుగుతుందో మాకు చెప్పండి?

ఆర్టియోమ్ నికోనోవ్: మా సాధారణ పథకం ఇలా కనిపిస్తుంది: కెమెరా నుండి చిత్రం -> మా నియంత్రణ గది -> స్థానిక RTMP సర్వర్ -> Amazon -> వీడియో ప్లేయర్. మరిన్ని వివరాలు దాని గురించి రాశారు జూన్‌లో హబ్రేలో.

సాధారణంగా, దీన్ని చేయడానికి రెండు ప్రపంచ మార్గాలు ఉన్నాయి: హార్డ్‌వేర్ లేదా సాఫ్ట్‌వేర్ పరిష్కారాల ఆధారంగా. రిమోట్ స్పీకర్ల విషయంలో ఇది సులభంగా ఉంటుంది కాబట్టి మేము సాఫ్ట్‌వేర్ మార్గాన్ని ఎంచుకున్నాము. మరొక దేశంలోని స్పీకర్‌కి హార్డ్‌వేర్‌ను తీసుకురావడం ఎల్లప్పుడూ సాధ్యం కాదు, అయితే స్పీకర్‌కి సాఫ్ట్‌వేర్‌ను డెలివరీ చేయడం సులభం మరియు మరింత నమ్మదగినదిగా కనిపిస్తుంది.

హార్డ్‌వేర్ దృక్కోణంలో, మేము నిర్దిష్ట సంఖ్యలో కెమెరాలను కలిగి ఉన్నాము (మా స్టూడియోలలో మరియు రిమోట్ స్పీకర్‌లలో), స్టూడియోలో నిర్దిష్ట సంఖ్యలో రిమోట్ కంట్రోల్‌లు ఉన్నాయి, వీటిని కొన్నిసార్లు ప్రసారం సమయంలో టేబుల్ కింద రిపేర్ చేయాల్సి ఉంటుంది.

ఈ పరికరాల నుండి సిగ్నల్‌లు క్యాప్చర్ కార్డ్‌లు, ఇన్‌పుట్/అవుట్‌పుట్ కార్డ్‌లు మరియు సౌండ్ కార్డ్‌లతో కంప్యూటర్‌లలోకి ప్రవేశిస్తాయి. అక్కడ సంకేతాలు మిశ్రమంగా ఉంటాయి మరియు లేఅవుట్‌లుగా సమావేశమవుతాయి:

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి
4 స్పీకర్ల కోసం లేఅవుట్ యొక్క ఉదాహరణ

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి
4 స్పీకర్ల కోసం లేఅవుట్ యొక్క ఉదాహరణ

ఇంకా, మూడు కంప్యూటర్ల సహాయంతో నిరంతర ప్రసారం అందించబడుతుంది: ఒక ప్రధాన యంత్రం మరియు ఒక జత పని చేసేవి ఉన్నాయి. మొదటి కంప్యూటర్ మొదటి నివేదికను సేకరిస్తుంది, రెండవది - విరామం, మొదటిది - తదుపరి నివేదిక, రెండవది - తదుపరి విరామం మొదలైనవి. మరియు ప్రధాన యంత్రం మొదటి దానిని రెండవదానితో కలుపుతుంది.

ఇది ఒక రకమైన త్రిభుజాన్ని సృష్టిస్తుంది మరియు ఈ నోడ్‌లలో ఏదైనా విఫలమైతే, మేము త్వరగా మరియు నాణ్యతను కోల్పోకుండా క్లయింట్‌లకు కంటెంట్‌ను అందించడం కొనసాగించవచ్చు. మాకు అలాంటి పరిస్థితి ఎదురైంది. సమావేశాల మొదటి వారంలో, మేము ఒక యంత్రాన్ని పరిష్కరించాము, దానిని ఆన్/ఆఫ్ చేసాము. మన దృఢత్వంతో ప్రజలు సంతోషంగా ఉన్నట్లున్నారు.

తర్వాత, కంప్యూటర్‌ల నుండి స్ట్రీమ్‌లు స్థానిక సర్వర్‌కి వెళ్తాయి, దీనికి రెండు పనులు ఉన్నాయి: రూట్ RTMP స్ట్రీమ్‌లు మరియు రికార్డ్ బ్యాకప్‌లు. కాబట్టి మాకు బహుళ రికార్డింగ్ పాయింట్లు ఉన్నాయి. ఆ తర్వాత వీడియో స్ట్రీమ్‌లు Amazon SaaS సర్వీస్‌లలో రూపొందించబడిన మా సిస్టమ్‌లోని భాగానికి పంపబడతాయి. మేము ఉపయోగిస్తాము మీడియా లైవ్,S3, క్లౌడ్ ఫ్రంట్.

నికోలాయ్: వీడియో ప్రేక్షకులకు చేరేలోపు అక్కడ ఏం జరుగుతుంది? మీరు దానిని ఎలాగైనా కత్తిరించాలి, సరియైనదా?

ఆర్టియోమ్: మేము వీడియోను మా వైపు నుండి కుదించి, మీడియాలైవ్‌కి పంపుతాము. మేము అక్కడ ట్రాన్స్‌కోడర్‌లను ప్రారంభిస్తాము. వారు వీడియోలను నిజ సమయంలో అనేక రిజల్యూషన్‌లలోకి ట్రాన్స్‌కోడ్ చేస్తారు, తద్వారా ప్రజలు వాటిని తమ ఫోన్‌లలో, దేశంలోని పేలవమైన ఇంటర్నెట్ ద్వారా చూడగలరు మరియు మొదలైనవి. అప్పుడు ఈ ప్రవాహాలు కత్తిరించబడతాయి ముక్కలు, ప్రోటోకాల్ ఈ విధంగా పనిచేస్తుంది HLS. మేము ఈ భాగాలకు పాయింటర్‌లను కలిగి ఉన్న ప్లేజాబితాను ఫ్రంటెండ్‌కి పంపుతాము.

— మనం 1080p రిజల్యూషన్‌ని ఉపయోగిస్తున్నామా?

ఆర్టియోమ్: మా వీడియో యొక్క వెడల్పు 1080p - 1920 పిక్సెల్‌లకు సమానంగా ఉంటుంది మరియు ఎత్తు కొద్దిగా తక్కువగా ఉంటుంది, చిత్రం మరింత పొడుగుగా ఉంటుంది - దీనికి కారణాలు ఉన్నాయి.

ప్లేయర్

— ఆర్టియోమ్ వీడియో స్ట్రీమ్‌లలోకి ఎలా వస్తుంది, విభిన్న స్క్రీన్ రిజల్యూషన్‌ల కోసం వివిధ ప్లేలిస్ట్‌లలో ఎలా పంపిణీ చేయబడిందో, భాగాలుగా కట్ చేసి ప్లేయర్‌లోకి ఎలా చేరుతుందో వివరించింది. కోల్యా, ఇప్పుడు చెప్పు ఇది ఎలాంటి ప్లేయర్, ఇది స్ట్రీమ్‌ను ఎలా వినియోగించుకుంటుంది, HLS ఎందుకు?

నికోలాయ్: కాన్ఫరెన్స్ వీక్షకులందరూ చూడగలిగే ప్లేయర్ మా వద్ద ఉంది.

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి

ముఖ్యంగా, ఇది లైబ్రరీ చుట్టూ చుట్టినది hls.js, దానిపై అనేక ఇతర ఆటగాళ్ళు వ్రాయబడ్డారు. కానీ మాకు చాలా నిర్దిష్ట కార్యాచరణ అవసరం: వ్యక్తి ఉన్న స్థలాన్ని రివైండ్ చేయడం మరియు గుర్తించడం, అతను ప్రస్తుతం ఏ నివేదికను చూస్తున్నాడు. మాకు మా స్వంత లేఅవుట్‌లు, అన్ని రకాల లోగోలు మరియు మాతో నిర్మించబడిన మిగతావన్నీ కూడా అవసరం. అందువల్ల, మేము మా స్వంత లైబ్రరీని (HLSపై ఒక రేపర్) వ్రాయాలని నిర్ణయించుకున్నాము మరియు దానిని సైట్‌లో పొందుపరిచాము.

ఇది రూట్ ఫంక్షనాలిటీ, కాబట్టి ఇది దాదాపు మొదట అమలు చేయబడింది. ఆపై ప్రతిదీ దాని చుట్టూ పెరిగింది.

వాస్తవానికి, అధికారం ద్వారా, ఆటగాడు బ్యాకెండ్ నుండి సమయం మరియు నాణ్యతతో పరస్పర సంబంధం ఉన్న భాగాలకు లింక్‌లతో ప్లేజాబితాను స్వీకరిస్తాడు, అవసరమైన వాటిని డౌన్‌లోడ్ చేస్తాడు మరియు వాటిని వినియోగదారుకు చూపుతాడు, మార్గంలో కొంత “మేజిక్” ప్రదర్శిస్తాడు.

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి
కాలక్రమం ఉదాహరణ

— అన్ని నివేదికల టైమ్‌లైన్‌ని ప్రదర్శించడానికి ప్లేయర్‌లో ఒక బటన్ నిర్మించబడింది...

నికోలాయ్: అవును, మేము వినియోగదారు నావిగేషన్ సమస్యను వెంటనే పరిష్కరించాము. ఏప్రిల్ మధ్యలో, మేము మా ప్రతి కాన్ఫరెన్స్‌ను ఒక ప్రత్యేక వెబ్‌సైట్‌లో ప్రసారం చేయకూడదని నిర్ణయించుకున్నాము, కానీ అన్నింటినీ ఒకదానిలో కలపాలని నిర్ణయించుకున్నాము. తద్వారా ఫుల్ పాస్ టిక్కెట్ వినియోగదారులు వివిధ సమావేశాల మధ్య స్వేచ్ఛగా మారవచ్చు: ప్రత్యక్ష ప్రసారాలు మరియు గత వాటి రికార్డింగ్‌లు రెండూ.

మరియు వినియోగదారులు ప్రస్తుత స్ట్రీమ్‌ను నావిగేట్ చేయడం మరియు ట్రాక్‌ల మధ్య మారడాన్ని సులభతరం చేయడానికి, మేము ట్రాక్‌లు మరియు నివేదికల మధ్య మారడం కోసం “పూర్తి ప్రసారం” బటన్ మరియు క్షితిజ సమాంతర నివేదిక కార్డ్‌లను తయారు చేయాలని నిర్ణయించుకున్నాము. కీబోర్డ్ నియంత్రణ ఉంది.

- ఇందులో సాంకేతిక సమస్యలు ఏమైనా ఉన్నాయా?

నికోలాయ్: వారు స్క్రోల్ బార్‌ను కలిగి ఉన్నారు, దానిపై వివిధ నివేదికల ప్రారంభ పాయింట్లు గుర్తించబడ్డాయి.

— చివరికి, YouTube ఇలాంటిదే చేసే ముందు మీరు స్క్రోల్ బార్‌లో ఈ గుర్తులను అమలు చేశారా?

ఆర్టియోమ్: వారు దానిని అప్పుడు బీటాలో కలిగి ఉన్నారు. ఇది చాలా క్లిష్టమైన ఫీచర్‌గా కనిపిస్తోంది, ఎందుకంటే వారు గత సంవత్సరంలో వినియోగదారులతో పాక్షికంగా పరీక్షిస్తున్నారు. మరియు ఇప్పుడు అది అమ్మకానికి చేరుకుంది.

నికోలాయ్: కానీ వాస్తవానికి మేము దానిని వేగంగా విక్రయించాము. నిజాయితీగా, ఈ సాధారణ ఫీచర్ వెనుక ప్లేయర్‌లో బ్యాకెండ్, ఫ్రంటెండ్, లెక్కలు మరియు గణితాలు భారీ మొత్తంలో ఉన్నాయి.

ఫ్రంటెండ్

— మనం చూపించే ఈ కంటెంట్ (స్పీచ్ కార్డ్, స్పీకర్‌లు, వెబ్‌సైట్, షెడ్యూల్) ఫ్రంట్ ఎండ్‌కి ఎలా వస్తుందో తెలుసుకుందాం?

వ్లాదిమిర్ క్రాసిల్షిక్: మాకు అనేక అంతర్గత IT వ్యవస్థలు ఉన్నాయి. అన్ని నివేదికలు మరియు అన్ని స్పీకర్లను నమోదు చేసే వ్యవస్థ ఉంది. ఒక కాన్ఫరెన్స్‌లో స్పీకర్ పాల్గొనే ప్రక్రియ ఉంది. స్పీకర్ ఒక అప్లికేషన్‌ను సమర్పిస్తాడు, సిస్టమ్ దానిని సంగ్రహిస్తుంది, ఆపై నివేదిక సృష్టించబడిన దాని ప్రకారం ఒక నిర్దిష్ట పైప్‌లైన్ ఉంది.

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి
పైప్‌లైన్‌ను స్పీకర్ ఈ విధంగా చూస్తారు

ఈ వ్యవస్థ మన అంతర్గత అభివృద్ధి.

తరువాత, మీరు వ్యక్తిగత నివేదికల నుండి షెడ్యూల్‌ను రూపొందించాలి. మీకు తెలిసినట్లుగా, ఇది NP-కఠినమైన సమస్య, కానీ మేము దానిని ఎలాగైనా పరిష్కరిస్తాము. దీన్ని చేయడానికి, మేము షెడ్యూల్‌ను రూపొందించే మరొక భాగాన్ని ప్రారంభిస్తాము మరియు దానిని కంటెంట్‌ఫుల్ థర్డ్-పార్టీ క్లౌడ్ సర్వీస్‌కి అప్‌లోడ్ చేస్తాము. అక్కడ, ప్రతిదీ ఒక టేబుల్ లాగా కనిపిస్తుంది, దీనిలో కాన్ఫరెన్స్ రోజులు ఉన్నాయి, రోజుల్లో టైమ్ స్లాట్‌లు ఉన్నాయి మరియు స్లాట్‌లలో రిపోర్ట్‌లు, బ్రేక్‌లు లేదా స్పాన్సర్‌షిప్ కార్యకలాపాలు ఉంటాయి. కాబట్టి మేము చూసే కంటెంట్ మూడవ పక్ష సేవలో ఉంది. మరియు పని దానిని సైట్‌కు తెలియజేయడం.

సైట్ ప్లేయర్‌తో ఉన్న పేజీ మాత్రమే అని అనిపించవచ్చు మరియు ఇక్కడ సంక్లిష్టంగా ఏమీ లేదు. అది కాదు తప్ప. ఈ పేజీ వెనుక ఉన్న బ్యాకెండ్ కంటెంట్‌ఫుల్‌కి వెళ్లి, అక్కడి నుండి షెడ్యూల్‌ను పొందుతుంది, కొన్ని వస్తువులను రూపొందించి, దానిని ఫ్రంటెండ్‌కి పంపుతుంది. మా ప్లాట్‌ఫారమ్‌లోని ప్రతి క్లయింట్ చేసే వెబ్‌సాకెట్ కనెక్షన్‌ని ఉపయోగించి, మేము అతనికి బ్యాకెండ్ నుండి ఫ్రంటెండ్ వరకు షెడ్యూల్‌కు నవీకరణను పంపుతాము.

అసలు సందర్భం: కాన్ఫరెన్స్ సమయంలోనే స్పీకర్ ఉద్యోగాలను మార్చారు. మేము అతని యజమాని కంపెనీ బ్యాడ్జ్‌ని మార్చాలి. బ్యాకెండ్ నుండి ఇది ఎలా జరుగుతుంది? వెబ్‌సాకెట్ ద్వారా అన్ని క్లయింట్‌లకు అప్‌డేట్ పంపబడుతుంది, ఆపై ఫ్రంటెండ్ స్వయంగా టైమ్‌లైన్‌ను తిరిగి గీయిస్తుంది. ఇదంతా నిర్విఘ్నంగా జరుగుతుంది. క్లౌడ్ సేవ మరియు మా అనేక భాగాల కలయిక ఈ మొత్తం కంటెంట్‌ను రూపొందించడానికి మరియు దానిని ముందు భాగంలో అందించడానికి మాకు అవకాశాన్ని ఇస్తుంది.

నికోలాయ్: మా సైట్ క్లాసిక్ SPA అప్లికేషన్ కాదని ఇక్కడ స్పష్టం చేయడం ముఖ్యం. ఇది లేఅవుట్ ఆధారిత, రెండర్ చేయబడిన వెబ్‌సైట్ మరియు SPA రెండూ. Google నిజానికి ఈ సైట్‌ని రెండర్ చేసిన HTMLగా చూస్తుంది. ఇది SEOకి మరియు వినియోగదారుకు కంటెంట్‌ని అందించడానికి మంచిది. పేజీని చూసే ముందు 1,5 మెగాబైట్‌ల జావాస్క్రిప్ట్ లోడ్ అయ్యే వరకు ఇది వేచి ఉండదు, ఇది ఇప్పటికే రెండర్ చేసిన పేజీని వెంటనే చూస్తుంది మరియు మీరు రిపోర్ట్‌ని మార్చిన ప్రతిసారీ మీకు అనిపిస్తుంది. కంటెంట్ ఇప్పటికే సిద్ధంగా ఉంది మరియు సరైన స్థలంలో పోస్ట్ చేయబడినందున ప్రతిదీ సగం సెకనులో జరుగుతుంది.

— సాంకేతికతలను జాబితా చేయడం ద్వారా పైన పేర్కొన్న అన్నిటి క్రింద ఒక గీతను గీద్దాం. మాకు 5 అమెజాన్ స్ట్రీమ్‌లు ఉన్నాయని, మేము అక్కడ వీడియో మరియు సౌండ్‌ని అందజేస్తామని టియోమా చెప్పారు. మాకు అక్కడ బాష్ స్క్రిప్ట్‌లు ఉన్నాయి, వాటిని లాంచ్ చేయడానికి మరియు కాన్ఫిగర్ చేయడానికి ఉపయోగిస్తాము...

ఆర్టియోమ్: ఇది AWS API ద్వారా జరుగుతుంది, అక్కడ అనేక సాంకేతిక సైడ్ సేవలు ఉన్నాయి. మేము మా బాధ్యతలను విభజించాము, తద్వారా నేను అందజేస్తాను క్లౌడ్ ఫ్రంట్, మరియు ఫ్రంట్-ఎండ్ మరియు బ్యాక్-ఎండ్ డెవలపర్లు దానిని అక్కడి నుండి తీసుకుంటారు. మేము కంటెంట్ యొక్క లేఅవుట్‌ను సరళీకృతం చేయడానికి మా స్వంత బైండింగ్‌లను కలిగి ఉన్నాము, దానిని మేము 4Kలో తయారు చేస్తాము. గడువులు చాలా కఠినంగా ఉన్నందున, మేము దీన్ని దాదాపు పూర్తిగా AWSలో చేసాము.

— అప్పుడు ఇవన్నీ బ్యాకెండ్ సిస్టమ్‌ని ఉపయోగించి ప్లేయర్‌లోకి వెళ్తాయి. మా ప్లేయర్‌లో టైప్‌స్క్రిప్ట్, రియాక్ట్, నెక్స్ట్.జెఎస్ ఉన్నాయి. మరియు బ్యాకెండ్‌లో మనకు C#, Java, Spring Boot మరియు Node.jsలో అనేక సేవలు ఉన్నాయి. Yandex.Cloud ఇన్‌ఫ్రాస్ట్రక్చర్‌ని ఉపయోగించి Kubernetesని ఉపయోగించి ఇదంతా అమలు చేయబడుతుంది.

నేను ప్లాట్‌ఫారమ్‌తో పరిచయం పొందడానికి అవసరమైనప్పుడు, అది సులభంగా మారిందని నేను గమనించాలనుకుంటున్నాను: అన్ని రిపోజిటరీలు GitLabలో ఉన్నాయి, ప్రతిదీ బాగా పేరు పెట్టబడింది, పరీక్షలు వ్రాయబడ్డాయి, డాక్యుమెంటేషన్ ఉంది. అంటే, ఎమర్జెన్సీ మోడ్‌లో కూడా, వారు అలాంటి వాటిని చూసుకున్నారు.

వ్యాపార పరిమితులు మరియు విశ్లేషణలు

— మేము వ్యాపార అవసరాల ఆధారంగా 10 మంది వినియోగదారులను లక్ష్యంగా చేసుకున్నాము. మేము కలిగి ఉన్న వ్యాపార పరిమితుల గురించి మాట్లాడటానికి ఇది సమయం. మేము అధిక పనిభారాన్ని నిర్ధారించుకోవాలి, వ్యక్తిగత డేటా సంరక్షణపై చట్టానికి అనుగుణంగా ఉండేలా చూసుకోవాలి. మరి ఇంకేం?

నికోలాయ్: ప్రారంభంలో, మేము వీడియో అవసరాల నుండి ప్రారంభించాము. క్లయింట్‌కు వేగంగా డెలివరీ చేయడానికి ప్రపంచవ్యాప్తంగా వీడియో నిల్వ పంపిణీ చేయడం చాలా ముఖ్యమైన విషయం. మరికొన్నింటిలో 1080p రిజల్యూషన్, అలాగే రివైండ్ ఉన్నాయి, వీటిని చాలా మంది లైవ్ మోడ్‌లో అమలు చేయరు. తర్వాత మేము 2x వేగాన్ని ప్రారంభించగల సామర్థ్యాన్ని జోడించాము, దాని సహాయంతో మీరు ప్రత్యక్షంగా "క్యాచ్ అప్" చేయవచ్చు మరియు నిజ సమయంలో సమావేశాన్ని చూడటం కొనసాగించవచ్చు. మరియు మార్గం వెంట, టైమ్‌లైన్ మార్కింగ్ కార్యాచరణ కనిపించింది. అదనంగా, మేము తప్పులను తట్టుకోవలసి ఉంటుంది మరియు 10 కనెక్షన్ల భారాన్ని తట్టుకోవాలి. బ్యాకెండ్ పాయింట్ ఆఫ్ వ్యూలో, ఇది ప్రతి పేజీ రిఫ్రెష్ కోసం 000 అభ్యర్థనలతో గుణించబడిన సుమారు 10 కనెక్షన్లు. మరియు ఇది ఇప్పటికే 000 RPS/సెకను. కొంచెం.

— భాగస్వాముల యొక్క ఆన్‌లైన్ స్టాండ్‌లతో “వర్చువల్ ఎగ్జిబిషన్” కోసం ఏవైనా ఇతర అవసరాలు ఉన్నాయా?

నికోలాయ్: అవును, ఇది చాలా త్వరగా మరియు విశ్వవ్యాప్తంగా చేయవలసి ఉంది. మేము ప్రతి కాన్ఫరెన్స్‌కు గరిష్టంగా 10 భాగస్వామ్య కంపెనీలను కలిగి ఉన్నాము మరియు వాటన్నింటినీ ఒకటి లేదా రెండు వారాల్లో పూర్తి చేయాల్సి ఉంటుంది. అయినప్పటికీ, వాటి కంటెంట్ ఆకృతిలో కొద్దిగా భిన్నంగా ఉంటుంది. కానీ ఒక నిర్దిష్ట టెంప్లేట్ ఇంజిన్ తయారు చేయబడింది, ఇది ఈ పేజీలను ఫ్లైలో అసెంబ్లింగ్ చేస్తుంది, వాస్తవంగా తదుపరి అభివృద్ధి భాగస్వామ్యం లేదు.

— నిజ-సమయ వీక్షణలు మరియు గణాంకాల విశ్లేషణలకు కూడా అవసరాలు ఉన్నాయి. దీని కోసం మేము ప్రోమేథియస్‌ని ఉపయోగిస్తామని నాకు తెలుసు, కానీ మాకు మరింత వివరంగా చెప్పండి: విశ్లేషణల కోసం మనం ఏ అవసరాలను తీరుస్తాము మరియు ఇది ఎలా అమలు చేయబడుతుంది?

నికోలాయ్: ప్రారంభంలో, A/B పరీక్ష కోసం సేకరించడం మరియు భవిష్యత్తులో అత్యుత్తమ కంటెంట్‌ను క్లయింట్‌కు ఎలా సరిగ్గా అందించాలో అర్థం చేసుకోవడానికి సమాచారాన్ని సేకరించడం కోసం మేము మార్కెటింగ్ అవసరాలను కలిగి ఉన్నాము. భాగస్వామి కార్యకలాపాలపై కొన్ని విశ్లేషణలు మరియు మీరు చూసే విశ్లేషణల కోసం కూడా ఆవశ్యకతలు ఉన్నాయి (కౌంటర్‌ని సందర్శించండి). మొత్తం సమాచారం నిజ సమయంలో సేకరించబడుతుంది.

మేము ఈ సమాచారాన్ని స్పీకర్లకు కూడా సమగ్ర రూపంలో అందించగలము: నిర్దిష్ట సమయంలో ఎంత మంది వ్యక్తులు మిమ్మల్ని చూస్తున్నారు. అదే సమయంలో, ఫెడరల్ లా 152కి అనుగుణంగా, మీ వ్యక్తిగత ఖాతా మరియు వ్యక్తిగత డేటా ఏ విధంగానూ ట్రాక్ చేయబడవు.

ప్లాట్‌ఫారమ్‌లో ఇప్పటికే మార్కెటింగ్ సాధనాలు మరియు నివేదికల వద్ద హాజరు యొక్క గ్రాఫ్‌లను రూపొందించడానికి వినియోగదారు కార్యాచరణను (రిపోర్ట్‌లో రెండవదాన్ని ఎవరు చూశారు) కొలవడానికి మా కొలమానాలు ఉన్నాయి. ఈ డేటా ఆధారంగా, తదుపరి సమావేశాలు మరింత మెరుగ్గా ఉండేలా పరిశోధనలు జరుగుతున్నాయి.

మోసం

— మనకు మోసం నిరోధక యంత్రాంగాలు ఉన్నాయా?

నికోలాయ్: వ్యాపార దృక్కోణం నుండి కఠినమైన సమయ ఫ్రేమ్ కారణంగా, అనవసరమైన కనెక్షన్‌లను వెంటనే నిరోధించడానికి టాస్క్ ప్రారంభంలో సెట్ చేయబడలేదు. ఇద్దరు వినియోగదారులు ఒకే ఖాతాలో లాగిన్ అయినట్లయితే, వారు కంటెంట్‌ను వీక్షించవచ్చు. కానీ ఒక ఖాతా నుండి ఎన్ని ఏకకాలంలో వీక్షణలు వచ్చాయో మాకు తెలుసు. మరియు మేము చాలా మంది హానికరమైన ఉల్లంఘించేవారిని నిషేధించాము.

వ్లాదిమిర్: దాని క్రెడిట్, నిషేధించబడిన వినియోగదారులలో ఒకరు ఇది ఎందుకు జరిగిందో అర్థం చేసుకున్నారు. అతను వచ్చి, క్షమాపణలు చెప్పి, టికెట్ కొనుక్కుంటానని హామీ ఇచ్చాడు.

— ఇవన్నీ జరగాలంటే, మీరు ప్రవేశం నుండి నిష్క్రమణ వరకు వినియోగదారులందరినీ పూర్తిగా గుర్తించాలి, వారు ఏమి చేస్తున్నారో ఎల్లప్పుడూ తెలుసుకోవాలి. ఈ వ్యవస్థ ఎలా పని చేస్తుంది?

వ్లాదిమిర్: నేను విశ్లేషణలు మరియు గణాంకాల గురించి మాట్లాడాలనుకుంటున్నాను, మేము నివేదిక యొక్క విజయం కోసం విశ్లేషిస్తాము లేదా భాగస్వాములకు అందించగలము. క్లయింట్‌లందరూ వెబ్‌సాకెట్ కనెక్షన్ ద్వారా నిర్దిష్ట బ్యాకెండ్ క్లస్టర్‌కి కనెక్ట్ చేయబడతారు. అది అక్కడే నిలుస్తుంది హాజెల్‌కాస్ట్. ప్రతి క్లయింట్ ప్రతి సమయ వ్యవధిలో అతను ఏమి చేస్తున్నాడో మరియు అతను ఏ ట్రాక్ చూస్తున్నాడో పంపుతుంది. తర్వాత ఈ సమాచారం వేగవంతమైన Hazelcast జాబ్‌లను ఉపయోగించి సమగ్రపరచబడుతుంది మరియు ఈ ట్రాక్‌లను చూసే ప్రతి ఒక్కరికీ తిరిగి పంపబడుతుంది. ఇప్పుడు మనతో ఎంత మంది ఉన్నారో మనం మూలన చూస్తాము.

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి

అదే సమాచారం నిల్వ చేయబడుతుంది మొంగో మరియు మా డేటా సరస్సుకి వెళుతుంది, దాని నుండి మరింత ఆసక్తికరమైన గ్రాఫ్‌ను రూపొందించడానికి మాకు అవకాశం ఉంది. ప్రశ్న తలెత్తుతుంది: ఈ నివేదికను ఎంత మంది ప్రత్యేక వినియోగదారులు వీక్షించారు? మేము వెళ్తాము పోస్ట్‌గ్రెస్, ఈ నివేదిక ఐడి ద్వారా వచ్చిన వ్యక్తులందరి పింగ్‌లు ఉన్నాయి. మేము ప్రత్యేకమైన వాటిని సేకరించాము, సమగ్రపరచాము మరియు ఇప్పుడు మనం అర్థం చేసుకోగలము.

నికోలాయ్: కానీ అదే సమయంలో, మేము ప్రోమేథియస్ నుండి నిజ-సమయ డేటాను కూడా స్వీకరిస్తాము. ఇది అన్ని కుబెర్నెట్స్ సేవలకు వ్యతిరేకంగా, కుబెర్నెట్‌లకు వ్యతిరేకంగా సెట్ చేయబడింది. ఇది ఖచ్చితంగా అన్నింటినీ సేకరిస్తుంది మరియు గ్రాఫానాతో మనం నిజ సమయంలో ఏదైనా గ్రాఫ్‌లను రూపొందించవచ్చు.

వ్లాదిమిర్: ఒకవైపు, తదుపరి OLAP ప్రాసెసింగ్ కోసం మేము దీన్ని డౌన్‌లోడ్ చేస్తాము. మరియు OLTP కోసం, అప్లికేషన్ మొత్తం విషయాన్ని ప్రోమేతియస్, గ్రాఫానాకు డౌన్‌లోడ్ చేస్తుంది మరియు గ్రాఫ్‌లు కూడా కలుస్తాయి!

- గ్రాఫ్‌లు కలిసినప్పుడు ఇది జరుగుతుంది.

డైనమిక్ మార్పులు

— డైనమిక్ మార్పులు ఎలా రూపొందించబడతాయో మాకు చెప్పండి: ప్రారంభానికి 6 నిమిషాల ముందు నివేదిక రద్దు చేయబడితే, చర్యల గొలుసు ఏమిటి? ఏ పైపులైన్ పని చేస్తుంది?

వ్లాదిమిర్: పైప్లైన్ చాలా షరతులతో కూడుకున్నది. అనేక అవకాశాలు ఉన్నాయి. మొదటిది షెడ్యూల్ జనరేషన్ ప్రోగ్రామ్ పని చేసి షెడ్యూల్‌ను మార్చింది. సవరించిన షెడ్యూల్ కంటెంట్‌ఫుల్‌కి అప్‌లోడ్ చేయబడింది. దాని తర్వాత కంటెంట్‌ఫుల్‌లో ఈ కాన్ఫరెన్స్‌కు మార్పులు ఉన్నాయని బ్యాకెండ్ అర్థం చేసుకుని, దాన్ని తీసుకొని మళ్లీ నిర్మిస్తుంది. అన్నీ సేకరించి వెబ్‌సాకెట్ ద్వారా పంపబడతాయి.

రెండవ అవకాశం, ప్రతిదీ విపరీతమైన వేగంతో జరిగినప్పుడు: ఎడిటర్ కంటెంట్‌ఫుల్‌లో సమాచారాన్ని మాన్యువల్‌గా మారుస్తుంది (టెలిగ్రామ్‌కి లింక్, స్పీకర్ ప్రెజెంటేషన్, మొదలైనవి) మరియు అదే లాజిక్ మొదటిసారిగా పనిచేస్తుంది.

నికోలాయ్: పేజీని రిఫ్రెష్ చేయకుండానే ప్రతిదీ జరుగుతుంది. అన్ని మార్పులు క్లయింట్ కోసం ఖచ్చితంగా సజావుగా జరుగుతాయి. రిపోర్ట్‌లను మార్చడానికి కూడా అదే జరుగుతుంది. సమయం వచ్చినప్పుడు, నివేదిక మరియు ఇంటర్ఫేస్ మారుతుంది.

వ్లాదిమిర్: అలాగే, టైమ్‌లైన్‌లో నివేదికల ప్రారంభానికి సమయ కటాఫ్‌లు ఉన్నాయి. చాలా ప్రారంభంలో ఏమీ లేదు. మరియు మీరు మీ మౌస్‌ను ఎరుపు గీతపై ఉంచినట్లయితే, ఏదో ఒక సమయంలో, ప్రసార డైరెక్టర్‌కు ధన్యవాదాలు, కటాఫ్‌లు కనిపిస్తాయి. దర్శకుడు ప్రసారం యొక్క సరైన ప్రారంభాన్ని సెట్ చేస్తాడు, బ్యాకెండ్ ఈ మార్పును ఎంచుకుంటుంది, కాన్ఫరెన్స్ షెడ్యూల్‌కు అనుగుణంగా మొత్తం ట్రాక్ ప్రెజెంటేషన్‌ల ప్రారంభ మరియు ముగింపు సమయాలను లెక్కిస్తుంది, దానిని మా క్లయింట్‌లకు పంపుతుంది మరియు ప్లేయర్ కటాఫ్‌లను గీస్తాడు. ఇప్పుడు వినియోగదారు నివేదిక యొక్క ప్రారంభం మరియు ముగింపుకు సులభంగా నావిగేట్ చేయవచ్చు. ఇది కఠినమైన వ్యాపార అవసరం, చాలా సౌకర్యవంతంగా మరియు ఉపయోగకరంగా ఉంది. నివేదిక కోసం అసలు ప్రారంభ సమయాన్ని కనుగొనడంలో మీరు సమయాన్ని వృథా చేయరు. మరియు మేము ప్రివ్యూ చేసినప్పుడు, అది ఖచ్చితంగా అద్భుతంగా ఉంటుంది.

విస్తరణ

- నేను విస్తరణ గురించి అడగాలనుకుంటున్నాను. కోల్యా మరియు బృందం మొత్తం మౌలిక సదుపాయాలను ఏర్పాటు చేయడానికి చాలా సమయం వెచ్చించారు, దీనిలో మాకు ప్రతిదీ విప్పుతుంది. చెప్పు, ఇదంతా దేనితో తయారు చేయబడింది?

నికోలాయ్: సాంకేతిక దృక్కోణం నుండి, ఏదైనా విక్రేత నుండి ఉత్పత్తి సాధ్యమైనంత వియుక్తంగా ఉండాలనే ఆవశ్యకతను మేము కలిగి ఉన్నాము. టెర్రాఫార్మ్ స్క్రిప్ట్‌లను ప్రత్యేకంగా AWS నుండి లేదా ప్రత్యేకంగా Yandex నుండి లేదా Azure నుండి తయారు చేయడానికి AWSకి రండి. నిజంగా సరిపోలేదు. ఏదో ఒక సమయంలో ఎక్కడికో వెళ్లాల్సి వచ్చింది.

మొదటి మూడు వారాల పాటు మేము దీన్ని మెరుగ్గా చేయడానికి ఒక మార్గం కోసం నిరంతరం వెతుకుతున్నాము. ఫలితంగా, మేము స్వయంచాలకంగా స్కేలింగ్ సేవలను సృష్టించడానికి, ఆటో-రోల్‌అవుట్ చేయడానికి మరియు దాదాపు అన్ని సేవలను బాక్స్ నుండి పొందేందుకు వీలు కల్పిస్తున్నందున, ఈ సందర్భంలో కుబెర్నెట్స్ మా సర్వస్వం అని మేము నిర్ధారణకు వచ్చాము. సహజంగానే, కుబెర్నెట్స్, డాకర్‌తో కలిసి పనిచేయడానికి అన్ని సేవలు శిక్షణ పొందవలసి ఉంటుంది మరియు బృందం కూడా నేర్చుకోవాలి.

మాకు రెండు క్లస్టర్లు ఉన్నాయి. పరీక్ష మరియు ఉత్పత్తి. హార్డ్‌వేర్ మరియు సెట్టింగ్‌ల పరంగా అవి ఖచ్చితంగా ఒకేలా ఉంటాయి. మేము మౌలిక సదుపాయాలను కోడ్‌గా అమలు చేస్తాము. అన్ని సేవలు ఆటోమేటిక్ పైప్‌లైన్‌ని ఉపయోగించి ఫీచర్ బ్రాంచ్‌లు, మాస్టర్ బ్రాంచ్‌లు, టెస్ట్ బ్రాంచ్‌లు మరియు GitLab నుండి మూడు ఎన్విరాన్‌మెంట్‌లలో ఆటోమేటిక్‌గా రూపొందించబడతాయి. ఇది గరిష్టంగా GitLabలో విలీనం చేయబడింది, గరిష్టంగా ఎలాస్టిక్, ప్రోమేథియస్‌తో ఏకీకృతం చేయబడింది.

అన్ని పరీక్షలు, ఇంటిగ్రేషన్‌లు, రన్నింగ్ ఫంక్షనల్ టెస్ట్‌లు, ఎన్విరాన్‌మెంట్‌పై ఇంటిగ్రేషన్ టెస్ట్‌లు మరియు లోడ్ టెస్ట్‌లతో టెస్ట్‌లతో ఏదైనా ఎన్విరాన్‌మెంట్‌లో మార్పులను త్వరగా (10 నిమిషాల్లోపు బ్యాకెండ్ కోసం, 5 నిమిషాల్లోపు ఫ్రంటెండ్ కోసం) చేసే అవకాశాన్ని మేము పొందుతాము. మేము ఉత్పత్తిలో పొందాలనుకుంటున్న దాదాపు అదే విషయం పరీక్ష వాతావరణం.

పరీక్షల గురించి

— మీరు దాదాపు ప్రతిదీ పరీక్షిస్తారు, మీరు ప్రతిదీ ఎలా వ్రాసారో నమ్మడం కష్టం. మీరు బ్యాకెండ్ పరీక్షల గురించి మాకు చెప్పగలరా: ప్రతిదీ ఎంత కవర్ చేయబడింది, ఏ పరీక్షలు?

వ్లాదిమిర్: రెండు రకాల పరీక్షలు రాశారు. మొదటివి కాంపోనెంట్ పరీక్షలు. మొత్తం స్ప్రింగ్ అప్లికేషన్ మరియు బేస్ ఇన్ లిఫ్ట్ స్థాయి పరీక్షలు టెస్ట్ కంటైనర్లు. ఇది అత్యున్నత స్థాయి వ్యాపార దృశ్యాల పరీక్ష. నేను ఫంక్షన్‌లను పరీక్షించను. మేము కొన్ని పెద్ద విషయాలను మాత్రమే పరీక్షిస్తాము. ఉదాహరణకు, పరీక్ష సమయంలోనే, వినియోగదారుకు లాగిన్ చేసే ప్రక్రియ అనుకరించబడుతుంది, అతను ఎక్కడికి వెళ్లవచ్చో టిక్కెట్‌ల కోసం వినియోగదారు అభ్యర్థన మరియు స్ట్రీమ్‌ను చూడటానికి యాక్సెస్ కోసం అభ్యర్థన. చాలా స్పష్టమైన వినియోగదారు దృశ్యాలు.

ఇంటగ్రేషన్ టెస్ట్‌లు అని పిలవబడే వాటిలో దాదాపు అదే విషయం అమలు చేయబడుతుంది, ఇది వాస్తవానికి పర్యావరణంపై అమలు అవుతుంది. వాస్తవానికి, ఉత్పత్తిలో తదుపరి విస్తరణ ప్రారంభించబడినప్పుడు, నిజమైన ప్రాథమిక దృశ్యాలు కూడా ఉత్పత్తిలో నడుస్తున్నాయి. అదే లాగిన్, టిక్కెట్‌లను అభ్యర్థించడం, క్లౌడ్‌ఫ్రంట్‌కి యాక్సెస్‌ను అభ్యర్థించడం, స్ట్రీమ్ నిజంగా నా అనుమతులతో కనెక్ట్ అవుతుందో లేదో తనిఖీ చేయడం, డైరెక్టర్ ఇంటర్‌ఫేస్‌ను తనిఖీ చేయడం.

ప్రస్తుతానికి నా దగ్గర 70 కాంపోనెంట్ పరీక్షలు మరియు 40 ఇంటిగ్రేషన్ పరీక్షలు ఉన్నాయి. కవరేజీ 95%కి దగ్గరగా ఉంది. ఇది కాంపోనెంట్ వాటి కోసం, ఇంటిగ్రేషన్ కోసం తక్కువ, చాలా అవసరం లేదు. ప్రాజెక్ట్ అన్ని రకాల కోడ్ ఉత్పత్తిని కలిగి ఉందని పరిగణనలోకి తీసుకుంటే, ఇది చాలా మంచి సూచిక. మూడు నెలల్లో ఏం చేశామో మరో మార్గం లేదు. ఎందుకంటే మేము మాన్యువల్‌గా పరీక్షించి, మా టెస్టర్‌కి ఫీచర్‌లను అందజేసి, ఆమె బగ్‌లను కనుగొని, పరిష్కారాల కోసం వాటిని మాకు తిరిగి ఇస్తే, కోడ్‌ని డీబగ్ చేయడానికి ఈ రౌండ్ ట్రిప్ చాలా పొడవుగా ఉంటుంది మరియు మేము ఎటువంటి గడువులను అందుకోలేము.

నికోలాయ్: సాంప్రదాయకంగా, ఏదైనా ఫంక్షన్‌ను మార్చేటప్పుడు మొత్తం ప్లాట్‌ఫారమ్‌లో రిగ్రెషన్‌ను నిర్వహించడానికి, మీరు రెండు రోజుల పాటు ప్రతిచోటా కూర్చుని దూర్చాలి.

వ్లాదిమిర్: అందువల్ల, నేను ఒక లక్షణాన్ని అంచనా వేసినప్పుడు, రెండు సాధారణ పెన్నులు మరియు 4 వెబ్‌సాకెట్ కోసం నాకు 1 రోజులు అవసరమని నేను చెప్పాను, కొల్యా దానిని అనుమతించడం గొప్ప విజయం. ఈ 4 రోజులలో 2 రకాల పరీక్షలు ఉన్నాయి, ఆపై, చాలా మటుకు, ఇది పని చేస్తుందనే వాస్తవానికి అతను ఇప్పటికే అలవాటు పడ్డాడు.

నికోలాయ్: నేను 140 పరీక్షలు కూడా వ్రాసాను: కాంపోనెంట్ + ఫంక్షనల్, అదే పని చేస్తుంది. ఉత్పత్తిలో, పరీక్షలో మరియు ఉత్పత్తిలో ఒకే విధమైన దృశ్యాలు పరీక్షించబడతాయి. మేము ఇటీవల ఫంక్షనల్ ప్రాథమిక UI పరీక్షలను కూడా జోడించాము. ఈ విధంగా మేము విడిపోయే అత్యంత ప్రాథమిక కార్యాచరణను కవర్ చేస్తాము.

వ్లాదిమిర్: వాస్తవానికి, లోడ్ పరీక్షల గురించి మాట్లాడటం విలువ. ప్రతిదీ ఎలా ఉందో, రాబిట్‌తో ఏమి జరుగుతుందో, JVM లతో ఏమి జరుగుతుందో, వాస్తవానికి ఎంత మెమరీ అవసరమో అర్థం చేసుకోవడానికి ప్లాట్‌ఫారమ్‌ను నిజమైన దానికి దగ్గరగా ఉన్న లోడ్‌లో పరీక్షించడం అవసరం.

— మేము స్ట్రీమ్ వైపు ఏదైనా పరీక్షిస్తున్నామో లేదో నాకు ఖచ్చితంగా తెలియదు, కానీ మేము మీటప్‌లు చేసినప్పుడు ట్రాన్స్‌కోడర్‌లతో సమస్యలు ఉన్నాయని నాకు గుర్తుంది. మేము స్ట్రీమ్‌లను పరీక్షించామా?

ఆర్టియోమ్: పునరావృతంగా పరీక్షించబడింది. సమావేశాలను నిర్వహించడం. సమావేశాలను నిర్వహించే ప్రక్రియలో, సుమారు 2300 JIRA టిక్కెట్లు ఉన్నాయి. ఇవి మీటప్‌లు చేయడానికి ప్రజలు చేసిన సాధారణ విషయాలు. మేము ప్లాట్‌ఫారమ్‌లోని కొన్ని భాగాలను మీట్‌అప్‌ల కోసం ప్రత్యేక పేజీలోకి తీసుకున్నాము, దీనిని కిరిల్ టోల్కాచెవ్ నడుపుతున్నారు (టాక్కెవి).

నిజం చెప్పాలంటే పెద్దగా సమస్యలు లేవు. క్లౌడ్‌ఫ్రంట్‌లో క్యాచింగ్ బగ్‌లను మేము అక్షరాలా రెండు సార్లు పట్టుకున్నాము, మేము దానిని చాలా త్వరగా పరిష్కరించాము - మేము విధానాలను కేవలం రీకాన్ఫిగర్ చేసాము. సైట్‌లోని స్ట్రీమింగ్ సిస్టమ్‌లలో వ్యక్తులలో చాలా ఎక్కువ బగ్‌లు ఉన్నాయి.

సమావేశాల సమయంలో, మరిన్ని పరికరాలు మరియు సేవలను కవర్ చేయడానికి నేను చాలా మంది ఎగుమతిదారులను వ్రాయవలసి వచ్చింది. కొన్ని చోట్ల కొలమానాల కోసమే సొంతంగా సైకిళ్లు తయారు చేసుకోవాల్సి వచ్చింది. AV (ఆడియో-వీడియో) హార్డ్‌వేర్ ప్రపంచం చాలా రోజీ కాదు - మీరు ప్రభావితం చేయలేని కొన్ని రకాల “API” పరికరాలను కలిగి ఉన్నారు. మరియు మీకు అవసరమైన సమాచారాన్ని మీరు పొందగలరనే వాస్తవం చాలా దూరంగా ఉంది. హార్డ్‌వేర్ విక్రేతలు నిజంగా నెమ్మదిగా ఉంటారు మరియు వారి నుండి మీకు కావలసిన వాటిని పొందడం దాదాపు అసాధ్యం. మొత్తంగా 100 కంటే ఎక్కువ హార్డ్‌వేర్ ముక్కలు ఉన్నాయి, అవి మీకు అవసరమైన వాటిని తిరిగి ఇవ్వవు మరియు మీరు వింత మరియు అనవసరమైన ఎగుమతిదారులను వ్రాస్తారు, దీనికి ధన్యవాదాలు మీరు కనీసం ఏదో ఒకవిధంగా సిస్టమ్‌ను డీబగ్ చేయవచ్చు.

పరికరాలు

- సమావేశాల ప్రారంభానికి ముందు మేము అదనపు పరికరాలను పాక్షికంగా ఎలా కొనుగోలు చేశామో నాకు గుర్తుంది.

ఆర్టియోమ్: మేము కంప్యూటర్లు, ల్యాప్‌టాప్‌లు మరియు బ్యాటరీ ప్యాక్‌లను కొనుగోలు చేసాము. ప్రస్తుతం మనం 40 నిమిషాల పాటు కరెంటు లేకుండా జీవించగలం. జూన్‌లో సెయింట్ పీటర్స్‌బర్గ్‌లో తీవ్రమైన ఉరుములతో కూడిన వర్షం కురిసింది - కాబట్టి మాకు అలాంటి బ్లాక్‌అవుట్ ఉంది. అదే సమయంలో, అనేక మంది ప్రొవైడర్లు వేర్వేరు పాయింట్ల నుండి ఆప్టికల్ లింక్‌లతో మా వద్దకు వస్తారు. ఇది నిజంగా 40 నిమిషాల బిల్డింగ్ డౌన్‌టైమ్, ఈ సమయంలో మనకు లైట్లు ఆన్, సౌండ్, కెమెరాలు మొదలైనవి పని చేస్తాయి.

— ఇంటర్నెట్‌తో మాకు ఇలాంటి కథనం ఉంది. మా స్టూడియోలు ఉన్న కార్యాలయంలో, మేము అంతస్తుల మధ్య భీకరమైన వల లాగాము.

ఆర్టియోమ్: మేము అంతస్తుల మధ్య 20 Gbit ఫైబర్‌ని కలిగి ఉన్నాము. అంతస్తుల వెంట, ఎక్కడో ఆప్టిక్స్ ఉంది, ఎక్కడా ఆప్టిక్స్ లేదు, కానీ ఇప్పటికీ గిగాబిట్ కంటే తక్కువ ఛానెల్‌లు ఉన్నాయి - మేము కాన్ఫరెన్స్ ట్రాక్‌ల మధ్య వాటిపై వీడియోను అమలు చేస్తాము. సాధారణంగా, మీ స్వంత అవస్థాపనపై పని చేయడం చాలా సౌకర్యవంతంగా ఉంటుంది; సైట్‌లలో ఆఫ్‌లైన్ సమావేశాలలో మీరు దీన్ని చాలా అరుదుగా చేయవచ్చు.

— నేను JUG Ru గ్రూప్‌లో పని చేసే ముందు, ఆఫ్‌లైన్ కాన్ఫరెన్స్‌లలో హార్డ్‌వేర్ రూమ్‌లను రాత్రిపూట ఎలా ఏర్పాటు చేశారో చూశాను, అక్కడ మీరు గ్రాఫానాలో రూపొందించే అన్ని మెట్రిక్‌లతో కూడిన పెద్ద మానిటర్ ఉంది. ఇప్పుడు ప్రధాన కార్యాలయ గది కూడా ఉంది, దీనిలో డెవలప్‌మెంట్ బృందం కూర్చుంటుంది, ఇది కాన్ఫరెన్స్ సమయంలో కొన్ని బగ్‌లను పరిష్కరిస్తుంది మరియు లక్షణాలను అభివృద్ధి చేస్తుంది. అదే సమయంలో, పెద్ద స్క్రీన్‌పై ప్రదర్శించబడే పర్యవేక్షణ వ్యవస్థ ఉంది. ఆర్టియోమ్, కోల్యా మరియు ఇతర కుర్రాళ్ళు కూర్చుని, అవన్నీ పడకుండా మరియు అందంగా పని చేసేలా చూసుకోండి.

ఉత్సుకత మరియు సమస్యలు

— మేము Amazonతో స్ట్రీమింగ్ చేస్తున్నాము, వెబ్‌లో ప్లేయర్ ఉంది, ప్రతిదీ వివిధ ప్రోగ్రామింగ్ భాషలలో వ్రాయబడింది, తప్పు సహనం మరియు ఇతర వ్యాపార అవసరాలు అందించబడ్డాయి, చట్టపరమైన సంస్థలకు మద్దతు ఇచ్చే వ్యక్తిగత ఖాతాతో సహా మరియు వ్యక్తులు, మరియు మేము OAuth 2.0ని ఉపయోగించి ఎవరితోనైనా ఏకీకృతం చేయవచ్చు, మోసం-వ్యతిరేకత, వినియోగదారుని నిరోధించడం వంటివి ఉన్నాయి. మేము బాగా చేసాము మరియు అన్నీ పరీక్షించబడినందున మేము మార్పులను డైనమిక్‌గా రూపొందించవచ్చు.

ఏదైనా ప్రారంభించడంలో ఎలాంటి విచిత్రాలు ఉన్నాయో తెలుసుకోవాలని నేను ఆసక్తిగా ఉన్నాను. మీరు బ్యాకెండ్, ఫ్రంటెండ్‌ని అభివృద్ధి చేస్తున్నప్పుడు ఏదైనా విచిత్రమైన పరిస్థితులు ఉన్నాయా, ఏదో పిచ్చిగా మారిన మరియు దానితో ఏమి చేయాలో మీకు అర్థం కాలేదు?

వ్లాదిమిర్: ఇది గత మూడు నెలలుగా మాత్రమే జరిగిందని నాకు అనిపిస్తోంది. ప్రతి రోజు. మీరు చూడగలరు గా, నా జుట్టు మొత్తం బయటకు లాగి ఉంది.

90 రోజుల్లో వీడియో ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేయండి
3 నెలల తర్వాత వ్లాదిమిర్ క్రాసిల్ష్చిక్, ఒక రకమైన ఆట మారినప్పుడు మరియు దానితో ఏమి చేయాలో ఎవరికీ అర్థం కాలేదు

ప్రతిరోజూ ఇలాంటిదే ఉంటుంది, మీరు దానిని తీసుకొని మీ జుట్టును చింపివేసినప్పుడు లేదా మరెవరూ లేరని గ్రహించినప్పుడు అలాంటి క్షణం ఉన్నప్పుడు, మరియు మీరు మాత్రమే దీన్ని చేయగలరు. మా మొదటి పెద్ద ఈవెంట్ TechTrain. జూన్ 6 న తెల్లవారుజామున 2 గంటలకు మేము ఇంకా ఉత్పత్తి వాతావరణాన్ని రూపొందించలేదు, కోల్యా దానిని విడుదల చేస్తోంది. మరియు వ్యక్తిగత ఖాతా OAuth2.0ని ఉపయోగించి అధికార సర్వర్‌గా పని చేయలేదు. ప్లాట్‌ఫారమ్‌ను దానికి కనెక్ట్ చేయడానికి మేము దానిని OAuth2.0 ప్రొవైడర్‌గా మార్చాము. నేను దాదాపు 18 గంటలు నిటారుగా పని చేస్తున్నాను, నేను కంప్యూటర్ వైపు చూసాను మరియు ఏమీ చూడలేదు, అది ఎందుకు పని చేయడం లేదని నాకు అర్థం కాలేదు, మరియు కోల్యా నా కోడ్‌ని రిమోట్‌గా చూసాడు, స్ప్రింగ్ కాన్ఫిగరేషన్‌లో బగ్ కోసం వెతికాను , దానిని కనుగొన్నారు, మరియు LC పని చేసింది మరియు ఉత్పత్తిలో కూడా .

నికోలాయ్: మరియు TechTrain విడుదలకు ఒక గంట ముందు.

చాలా నక్షత్రాలు ఇక్కడ సమలేఖనం చేయబడ్డాయి. మేము చాలా అదృష్టవంతులం ఎందుకంటే మాకు సూపర్ టీమ్ ఉంది మరియు ప్రతి ఒక్కరూ దీన్ని ఆన్‌లైన్‌లో చేయాలనే ఆలోచనతో ప్రేరణ పొందారు. ఈ మూడు నెలలూ మేము "YouTubeని రూపొందించాము" అనే వాస్తవంతో నడిపించబడ్డాము. నేను నా జుట్టును చింపివేయడానికి నన్ను అనుమతించలేదు, కానీ ప్రతిదీ పని చేస్తుందని అందరికీ చెప్పాను, ఎందుకంటే వాస్తవానికి, ప్రతిదీ చాలా కాలం క్రితం లెక్కించబడింది.

పనితీరు గురించి

— ఒక ట్రాక్‌లో సైట్‌లో ఎంత మంది వ్యక్తులు ఉన్నారో మీరు నాకు చెప్పగలరా? పనితీరు సమస్యలు ఏమైనా ఉన్నాయా?

నికోలాయ్: మేము ఇప్పటికే చెప్పినట్లుగా పనితీరు సమస్యలు లేవు. ఒక నివేదికకు హాజరైన వ్యక్తుల గరిష్ట సంఖ్య 1300 మంది, ఇది హైసెన్‌బగ్‌లో ఉంది.

— స్థానిక వీక్షణలో ఏవైనా సమస్యలు ఉన్నాయా? మరియు అది ఎలా పని చేస్తుందో రేఖాచిత్రాలతో సాంకేతిక వివరణను కలిగి ఉండటం సాధ్యమేనా?

నికోలాయ్: మేము దీని గురించి తరువాత ఒక కథనాన్ని చేస్తాము.

మీరు స్థానికంగా స్ట్రీమ్‌లను కూడా డీబగ్ చేయవచ్చు. కాన్ఫరెన్స్‌లు ప్రారంభమైన తర్వాత, అది మరింత సులభమైంది, ఎందుకంటే మేము అన్ని సమయాలలో చూడగలిగే ఉత్పత్తి ప్రసారాలు కనిపించాయి.

వ్లాదిమిర్: నేను అర్థం చేసుకున్నట్లుగా, ఫ్రంట్-ఎండ్ డెవలపర్‌లు స్థానికంగా మాక్‌లతో పనిచేశారు, ఆపై, ముందు భాగంలో ఉన్న డెవలప్‌మెంట్‌లకు వెళ్లే సమయం కూడా తక్కువగా ఉంటుంది (5 నిమిషాలు), సర్టిఫికేట్‌లతో ఏమి జరుగుతుందో తనిఖీ చేయడంలో ఎలాంటి సమస్యలు లేవు.

- ప్రతిదీ స్థానికంగా కూడా పరీక్షించబడింది మరియు డీబగ్ చేయబడింది. దీని అర్థం మేము అన్ని సాంకేతిక లక్షణాలతో ఒక కథనాన్ని వ్రాస్తాము, మీకు చూపుతాము, రేఖాచిత్రాలతో ప్రతిదీ మీకు తెలియజేస్తాము, అది ఎలా ఉందో.

వ్లాదిమిర్: మీరు దానిని తీసుకొని పునరావృతం చేయవచ్చు.

- 3 నెలల్లో.

ఫలితం

- మూడు నెలల్లో ఒక చిన్న టీమ్ ద్వారా జరిగిందని భావించి, కలిసి వివరించిన ప్రతిదీ బాగుంది.

నికోలాయ్: పెద్ద టీమ్ ఇలా చేయదు. కానీ ఒకరితో ఒకరు చాలా సన్నిహితంగా మరియు బాగా కమ్యూనికేట్ చేసే మరియు ఒక ఒప్పందానికి రాగలిగే వ్యక్తుల యొక్క చిన్న సమూహం. వారికి ఎటువంటి వైరుధ్యాలు లేవు, వాస్తుశిల్పం రెండు రోజుల్లో కనుగొనబడింది, ఖరారు చేయబడింది మరియు వాస్తవానికి మారలేదు. ఫీచర్ అభ్యర్థనలు మరియు మార్పులను పోగు చేయడంలో ఇన్‌కమింగ్ వ్యాపార అవసరాలకు చాలా కఠినమైన సదుపాయం ఉంది.

— వేసవి సమావేశాలు ఇప్పటికే జరిగినప్పుడు మీ తదుపరి పనుల జాబితాలో ఏమి ఉంది?

నికోలాయ్: ఉదాహరణకు, క్రెడిట్స్. వీడియోలో క్రీపింగ్ లైన్‌లు, చూపించబడుతున్న కంటెంట్‌ని బట్టి వీడియోలోని కొన్ని చోట్ల పాప్-అప్‌లు. ఉదాహరణకు, స్పీకర్ ప్రేక్షకులను ఒక ప్రశ్న అడగాలనుకుంటున్నారు మరియు ఓటింగ్ స్క్రీన్‌పై పాపప్ అవుతుంది, అది స్పీకర్‌కు ఓటింగ్ ఫలితాల ఆధారంగా వెనుకకు తిరిగి వస్తుంది. ప్రెజెంటేషన్ సమయంలోనే లైక్‌లు, హృదయాలు, నివేదిక యొక్క రేటింగ్‌ల రూపంలో ఒకరకమైన సామాజిక కార్యాచరణ, తద్వారా మీరు ఫీడ్‌బ్యాక్ ఫారమ్‌ల ద్వారా దృష్టి మరల్చకుండా సరైన సమయంలో అభిప్రాయాన్ని పూరించవచ్చు. మొదట్లో ఇలా.

మరియు స్ట్రీమింగ్ మరియు కాన్ఫరెన్స్ మినహా మొత్తం ప్లాట్‌ఫారమ్‌కు జోడించడం, కాన్ఫరెన్స్ అనంతర స్థితి కూడా. ఇవి ప్లేజాబితాలు (వినియోగదారులచే సంకలనం చేయబడిన వాటితో సహా), బహుశా ఇతర గత సమావేశాల నుండి కంటెంట్, ఇంటిగ్రేటెడ్, లేబుల్ చేయబడినవి, వినియోగదారుకు అందుబాటులో ఉంటాయి మరియు మా వెబ్‌సైట్‌లో వీక్షించడానికి కూడా అందుబాటులో ఉంటాయి (live.jugru.org).

— గైస్, మీ సమాధానాలకు చాలా ధన్యవాదాలు!

పాఠకులలో మా వేసవి సమావేశాలకు హాజరైన వారు ఉంటే, దయచేసి ప్లేయర్ మరియు ప్రసారం గురించి మీ అభిప్రాయాలను పంచుకోండి. ఏది అనుకూలమైనది, ఏది మిమ్మల్ని చికాకు పెట్టింది, భవిష్యత్తులో మీరు ఏమి చూడాలనుకుంటున్నారు?

మీరు ప్లాట్‌ఫారమ్‌పై ఆసక్తి కలిగి ఉంటే మరియు దానిని "యుద్ధంలో" చూడాలనుకుంటే, మేము దానిని మాలో మళ్లీ ఉపయోగిస్తాము శరదృతువు-శీతాకాల సమావేశాలు. వాటిలో మొత్తం శ్రేణి ఉన్నాయి, కాబట్టి మీకు సరిగ్గా సరిపోయేది ఖచ్చితంగా ఉంది.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి