Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Михаил Салосин (минбаъд - MS): - Салом ба ҳама! Номи ман Майкл аст. Ман дар MC2 Software ҳамчун таҳиягари пуштибонӣ кор мекунам ва ман дар бораи истифодаи Go дар пушти замимаи мобилии Look+ сӯҳбат хоҳам кард.

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Оё касе дар ин ҷо хоккейро дӯст медорад?

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Пас ин барнома барои шумост. Он барои Android ва iOS аст ва барои тамошои пахши рӯйдодҳои гуногуни варзишӣ онлайн ва сабтшуда истифода мешавад. Дар замима инчунин оморҳои гуногун, пахши матнӣ, ҷадвалҳо барои конфронсҳо, мусобиқаҳо ва дигар маълумоти муфид барои мухлисон мавҷуданд.

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Инчунин дар замима чунин чизе ба мисли лаҳзаҳои видео мавҷуд аст, яъне шумо метавонед лаҳзаҳои муҳимтарини вохӯриро (голҳо, задухӯрдҳо, тирандозӣ ва ғайра) тамошо кунед. Агар шумо нахоҳед, ки тамоми пахшро тамошо кунед, шумо метавонед танҳо барномаҳои ҷолибтаринро тамошо кунед.

Шумо дар рушд чӣ истифода бурдед?

Қисми асосӣ дар Go навишта шудааст. API, ки муштариёни мобилӣ бо он муошират мекарданд, дар Go навишта шудааст. Дар Go низ хидмати фиристодани огоҳиномаҳо ба телефонҳои мобилӣ навишта шудааст. Мо инчунин бояд ORM-и худро нависем, ки мо метавонем дар бораи он рӯзе сӯҳбат кунем. Хуб, баъзе хидматҳои хурд дар Go навишта шудаанд: тағир додани андоза ва боркунии тасвирҳо барои муҳаррирон ...

Мо PostgreSQL-ро ҳамчун пойгоҳи додаҳо истифода мебарем. Интерфейси муҳаррир дар Ruby on Rails бо истифода аз ганҷи ActiveAdmin навишта шудааст. Воридоти омор аз провайдери омор низ дар Ruby навишта шудааст.

Барои санҷишҳои системавии API, мо Python unittest -ро истифода бурдем. Memcached барои бастани зангҳои пардохти API истифода мешавад, "Шеф" барои назорати конфигуратсия истифода мешавад, Zabbix барои ҷамъоварӣ ва назорати омори дохилии система истифода мешавад. Graylog2 барои ҷамъоварии гузоришҳо, Slate ҳуҷҷатҳои API барои муштариён аст.

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Интихоби протокол

Мушкилоти аввалине, ки мо дучор шудем: ба мо лозим буд, ки протоколро барои ҳамкории байни муштариёни пуштибон ва мобилӣ дар асоси нуктаҳои зерин интихоб кунем...

  • Талаботи муҳимтарин: маълумот дар бораи муштариён бояд дар вақти воқеӣ нав карда шавад. Яъне ҳар касе, ки ҳоло пахши барномаро тамошо мекунад, бояд тақрибан дарҳол навсозиҳоро дарёфт кунад.
  • Барои содда кардани кор, мо тахмин кардем, ки маълумоте, ки бо муштариён ҳамоҳанг карда мешавад, нест карда намешавад, балки бо истифода аз парчамҳои махсус пинҳон карда мешавад.
  • Ҳама гуна дархостҳои нодир (ба монанди омор, таркиби даста, омори даста) тавассути дархостҳои оддии GET гирифта мешаванд.
  • Илова бар ин, система бояд дар як вақт 100 ҳазор корбарро ба осонӣ дастгирӣ кунад.

Дар асоси ин, мо ду варианти протокол доштем:

  1. Вебсокетҳо. Аммо ба мо каналҳо аз муштарӣ то сервер лозим набуданд. Мо танҳо лозим буд, ки навсозиҳоро аз сервер ба муштарӣ фиристем, аз ин рӯ вебсокет як варианти зиёдатист.
  2. Ҳодисаҳои аз сервер фиристодашуда (SSE) дуруст пайдо шуданд! Ин хеле содда аст ва асосан ҳама чизеро, ки ба мо лозим аст, қонеъ мекунад.

Ҳодисаҳои аз сервер фиристодашуда

Чанд сухан дар бораи он ки ин кор чӣ гуна кор мекунад ...

Он дар болои пайвасти http кор мекунад. Мизоҷ дархост мефиристад, сервер бо Content-Type: text/event-stream ҷавоб медиҳад ва пайвастро бо муштарӣ намебандад, балки навиштани маълумотро ба пайваст идома медиҳад:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Маълумотро дар формате, ки бо муштариён мувофиқа шудааст, фиристодан мумкин аст. Дар ҳолати мо, мо онро дар ин шакл фиристодем: номи сохтори тағирёфта (шахс, бозигар) ба майдони ҳодиса фиристода шуд ва JSON бо майдонҳои нав ва тағирёфта барои плеер ба майдони маълумот фиристода шуд.

Акнун биёед дар бораи он сӯҳбат кунем, ки худи мутақобила чӣ гуна кор мекунад.

  • Аввалин коре, ки муштарӣ мекунад, ин муайян кардани вақти охирини ҳамоҳангсозӣ бо хидмат анҷом дода мешавад: он ба базаи маҳаллии худ назар мекунад ва санаи охирин тағиротро, ки аз ҷониби он сабт шудааст, муайян мекунад.
  • Он бо ин сана дархост мефиристад.
  • Дар посух, мо ба ӯ тамоми навсозиҳои аз он рӯз ба амал омадаро мефиристем.
  • Пас аз он, он ба канали мустақим пайваст мешавад ва то он даме ки ба ин навсозиҳо ниёз накунад, баста намешавад:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Мо ба ӯ рӯйхати тағиротро мефиристем: агар касе гол занад, мо ҳисоби бозиро тағир медиҳем, агар ӯ маҷрӯҳ шавад, ин ҳам дар вақти воқеӣ фиристода мешавад. Ҳамин тариқ, мизоҷон фавран маълумоти навро дар лентаи чорабиниҳои бозӣ мегиранд. Давра ба давра, то мизоҷ фаҳмад, ки сервер намурдааст ва ҳеҷ чиз бо он рух надодааст, мо ҳар 15 сония тамғаи вақт мефиристем - то бидонад, ки ҳама чиз дар тартиб аст ва зарурати дубора пайваст шудан нест.

Пайвасти мустақим чӣ гуна хидмат мерасонад?

  • Пеш аз ҳама, мо каналеро эҷод мекунем, ки дар он навсозиҳои буферӣ гирифта мешаванд.
  • Пас аз он мо ба ин канал обуна мешавем, то аз навсозиҳо огоҳ шавем.
  • Мо сарлавҳаи дурустро муқаррар кардем, то муштарӣ донад, ки ҳама чиз хуб аст.
  • Пинги аввалро фиристед. Мо танҳо тамғаи пайвасти кунуниро сабт мекунем.
  • Пас аз он, мо аз канал дар як ҳалқа мехонем, то баста шудани канали навсозӣ. Канал давра ба давра ё тамғаи вақти ҷорӣ ё тағиротеро, ки мо аллакай барои пайвастҳои кушода менависем, қабул мекунад.

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Мушкилоти аввалине, ки мо дучор шудем, ин буд: барои ҳар як пайвасти бо муштарӣ кушодашуда мо таймереро эҷод кардем, ки дар ҳар 15 сония як маротиба ишора мекард - маълум мешавад, ки агар мо бо як мошин (бо як сервери API) 6 ҳазор пайваст кушода бошем, 6 хазор таймер сохта шуд. Ин ба он оварда расонд, ки машина бори заруриро нигох намедорад. Мушкилот барои мо он қадар равшан набуд, вале мо каме кӯмак гирифтем ва онро ислоҳ кардем.

Дар натиҷа, ҳоло пинги мо аз ҳамон канале меояд, ки аз он навсозӣ меояд.

Мувофиқи он, танҳо як таймер мавҷуд аст, ки дар ҳар 15 сония як маротиба ишора мекунад.

Дар ин ҷо якчанд функсияҳои ёрирасон мавҷуданд - фиристодани сарлавҳа, пинг ва худи сохтор. Яъне, номи ҷадвал (шахс, бозӣ, мавсим) ва маълумот дар бораи ин сабт дар ин ҷо интиқол дода мешавад:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Механизми фиристодани навсозиҳо

Акнун каме дар бораи он ки тағиротҳо аз куҷо пайдо мешаванд. Мо чанд нафар, муҳаррирон дорем, ки пахшро дар вақти воқеӣ тамошо мекунанд. Онҳо ҳама ҳодисаҳоро ба вуҷуд меоранд: касе аз майдон ронда шуд, касе маҷрӯҳ шуд, як навъ ивазкунанда...

Бо истифода аз CMS, маълумот ба пойгоҳи додаҳо ворид мешавад. Пас аз ин, пойгоҳи додаҳо серверҳои API-ро бо истифода аз механизми Гӯш кардан/Огоҳ кардан огоҳ мекунад. Серверҳои API аллакай ин маълумотро ба мизоҷон мефиристанд. Ҳамин тариқ, мо аслан танҳо якчанд серверҳои ба пойгоҳи додаҳо пайвастшуда дорем ва ба пойгоҳи додаҳо бори махсус вуҷуд надорад, зеро муштарӣ ба ҳеҷ ваҷҳ мустақиман бо пойгоҳи додаҳо ҳамкорӣ намекунад:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

PostgreSQL: Гӯш кунед/Огоҳ кунед

Механизми Гӯш додан/Огоҳ кардан дар Postgres ба шумо имкон медиҳад, ки муштариёни рӯйдодҳоро дар бораи тағир додани ягон ҳодиса огоҳ кунед - баъзе сабтҳо дар пойгоҳи додаҳо сохта шудаанд. Барои ин, мо як триггер ва функсияи оддӣ навиштем:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Ҳангоми ворид кардан ё тағир додани сабт, мо функсияи огоҳиро дар канали data_updates даъват мекунем ва ба он ҷо номи ҷадвал ва идентификатори сабти тағирёфта ё воридшударо мегузорем.

Барои ҳамаи ҷадвалҳое, ки бояд бо муштарӣ ҳамоҳанг карда шаванд, мо триггерро муайян мекунем, ки пас аз тағир додан / нав кардани сабт, функсияи дар слайд дар зер нишондодашударо даъват мекунад.
Чӣ тавр API ба ин тағиротҳо обуна мешавад?

Механизми Fanout сохта шудааст - он ба муштарӣ паёмҳо мефиристад. Он тамоми каналҳои муштариёнро ҷамъоварӣ мекунад ва навсозиҳои гирифтаашро тавассути ин каналҳо мефиристад:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Дар ин ҷо китобхонаи стандартии pq, ки ба пойгоҳи додаҳо пайваст мешавад ва мегӯяд, ки мехоҳад каналро гӯш кунад (data_updates), тафтиш мекунад, ки пайвастшавӣ кушода аст ва ҳама чиз хуб аст. Ман тафтиши хатогиро барои сарфаи ҷой сарфи назар мекунам (на тафтиш хатарнок аст).

Баъдан, мо ба таври асинхронӣ Ticker насб мекунем, ки он ҳар 15 сония пинг мефиристад ва ба гӯш кардани канали мо обунашуда шурӯъ мекунем. Агар мо пинг гирем, мо ин пингро нашр мекунем. Агар мо ягон намуди сабтро гирем, пас мо ин сабтро барои ҳамаи муштариёни ин Фанут нашр мекунем.

Чӣ тавр Fan-out кор мекунад?

Дар забони русӣ ин ҳамчун "тақсимкунанда" тарҷума шудааст. Мо як объект дорем, ки муштариёнеро, ки мехоҳанд баъзе навсозиҳо гиранд, ба қайд мегирад. Ва ҳамин ки навсозӣ ба ин объект мерасад, он ин навсозиро ба ҳамаи муштариёни худ паҳн мекунад. Ба қадри кофӣ оддӣ:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Чӣ тавр он дар Go амалӣ карда мешавад:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Сохтор мавҷуд аст, он бо истифода аз Mutexes ҳамоҳанг карда мешавад. Он дорои майдонест, ки ҳолати пайвастшавии Fanout-ро ба пойгоҳи додаҳо нигоҳ медорад, яъне он ҳоло гӯш мекунад ва навсозиҳо мегирад, инчунин рӯйхати ҳамаи каналҳои дастрас - харита, калиди он канал ва сохтор дар шакли арзишҳо (аслан он ба ҳеҷ ваҷҳ истифода намешавад).

Ду усул - Пайваст ва ҷудошуда - ба мо имкон медиҳад, ки ба Fanout бигӯем, ки мо бо пойгоҳ пайвастем, он пайдо шуд ва пайвастшавӣ ба пойгоҳ канда шудааст. Дар ҳолати дуюм, шумо бояд ҳамаи муштариёнро ҷудо кунед ва ба онҳо бигӯед, ки онҳо дигар чизеро гӯш карда наметавонанд ва онҳо дубора пайваст мешаванд, зеро пайвастшавӣ бо онҳо баста шудааст.

Инчунин усули Обуна шудан вуҷуд дорад, ки каналро ба "шунавандагон" илова мекунад:

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Усули Unsubscribe мавҷуд аст, ки дар сурати қатъ шудани муштарӣ каналро аз шунавандагон хориҷ мекунад ва инчунин усули Publish, ки имкон медиҳад ба ҳамаи муштариён паём фиристед.

Савол: – Тавассути ин канал чӣ интиқол дода мешавад?

БОНУ: – Моделе, ки тағир ёфтааст ё пинг интиқол дода мешавад (аслан танҳо адад, бутун).

БОНУ: - Шумо метавонед ҳама чизро фиристед, ҳама гуна сохтор фиристед, онро нашр кунед - он танҳо ба JSON табдил меёбад ва ҳамин тавр.

БОНУ: – Мо аз Postgres огоҳинома мегирем – он дорои номи ҷадвал ва идентификатор мебошад. Дар асоси номи ҷадвал ва идентификатор, мо сабти лозимаро мегирем ва баъд ин сохторро барои нашр мефиристем.

Инфраструктура

Ин аз нуқтаи назари инфрасохтор чӣ гуна аст? Мо 7 сервери сахтафзор дорем: яке аз онҳо комилан ба пойгоҳи додаҳо бахшида шудааст, шаш дигараш мошинҳои виртуалӣ кор мекунанд. 6 нусхаи API вуҷуд дорад: ҳар як мошини виртуалӣ бо API дар сервери сахтафзори алоҳида кор мекунад - ин барои эътимоднокӣ аст.

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Мо барои беҳтар кардани дастрасӣ ду фронт дорем, ки Keepalived насб карда шудааст, то ки агар чизе рӯй диҳад, як интерфейси дигарро иваз кунад. Инчунин - ду нусхаи CMS.

Инчунин як воридкунандаи омор вуҷуд дорад. DB Slave мавҷуд аст, ки аз он давра ба давра нусхабардорӣ карда мешавад. Pigeon Pusher, барномае мавҷуд аст, ки ба муштариён огоҳиномаҳои push мефиристад, инчунин чизҳои инфрасохторӣ: Zabbix, Graylog2 ва Chef.

Дар асл, ин инфрасохтор зиёдатист, зеро 100 ҳазор метавонад бо серверҳои камтар хидмат кунад. Аммо охан буд — мо онро истифода мебарем (ба мо гуфтанд, ки мумкин аст — чаро не).

Тарафҳои Go

Пас аз он ки мо дар ин барнома кор кардем, чунин бартариҳои ошкори Go пайдо шуданд.

  • Китобхонаи олитарини http. Бо он шумо метавонед аз қуттӣ хеле зиёд эҷод кунед.
  • Илова бар ин, каналҳое, ки ба мо имкон доданд, ки механизми фиристодани огоҳиномаҳоро ба мизоҷон ба осонӣ амалӣ созем.
  • Чизи аҷибе, ки детектори Race ба мо имкон дод, ки якчанд хатогиҳои муҳимро (инфрасохтори марҳилавӣ) бартараф кунем. Ҳама чизе, ки дар саҳна кор мекунад, оғоз карда мешавад ва бо калиди Race тартиб дода мешавад; ва мо, мувофиқан, метавонем ба инфрасохтори саҳнавӣ назар кунем, то бубинем, ки мо чӣ гуна мушкилоти эҳтимолӣ дорем.
  • Минимализм ва соддагии забон.

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

Мо таҳиягаронро меҷӯем! Агар касе мехоҳад, лутфан.

Саволҳои шумо

Саволи шунавандагон (минбаъд — В): — Ба назари ман, шумо як нуктаи муҳимро дар мавриди Fan-out аз даст додед. Оё ман дуруст мефаҳмам, ки вақте ки шумо ба муштарӣ посух мефиристед, агар муштарӣ хондан намехоҳад, шумо блок мекунед?

БОНУ: — Не, мо монеъ намешавем. Аввалан, мо ҳама инро дар паси nginx дорем, яъне бо мизоҷони суст мушкилот вуҷуд надорад. Сониян, муштарӣ канале дорад, ки буфер дорад - воқеан мо метавонем то сад навсозиро дар он ҷо гузорем... Агар мо ба канал навишта натавонем, онро нест мекунад. Агар мо бубинем, ки канал баста шудааст, мо танҳо каналро мепӯшем ва ҳамин тавр - муштарӣ дар сурати пайдо шудани ягон мушкилот дубора пайваст мешавад. Аз ин рӯ, дар ин ҷо аслан ҳеҷ гуна басташавӣ вуҷуд надорад.

Дар: - Оё наметавонист фавран сабтро ба Гӯш додан/Огоҳӣ фиристед, на ҷадвали идентификатор?

БОНУ: - Гӯш додан/Огоҳ кардан дар боркунии пешакии фиристодааш 8 ҳазор байт маҳдуд аст. Аслан, агар мо бо миқдори ками маълумот сару кор дошта бошем, фиристодан мумкин буд, аммо ба ман чунин менамояд, ки ин [тарзи мо] танҳо боэътимодтар аст. Маҳдудиятҳо дар худи Postgres мебошанд.

Дар: – Оё муштариён дар бораи гӯгирдҳое, ки ба онҳо таваҷҷӯҳ надоранд, навсозиҳо мегиранд?

БОНУ: - Умуман, ҳа. Чун қоида, 2-3 вохӯрӣ дар як вақт, ва ҳатто хеле кам сурат мегиранд. Агар муштарӣ чизеро тамошо кунад, пас одатан ӯ бозии ҷараёнро тамошо мекунад. Сипас, муштарӣ дорои махзани маҳаллие мебошад, ки ба он ҳамаи ин навсозиҳо илова карда мешаванд ва ҳатто бидуни пайвасти интернет, муштарӣ метавонад ҳамаи бозиҳои қаблиро, ки барои онҳо навсозӣ дорад, бубинад. Аслан, мо пойгоҳи додаи худро дар сервер бо махзани маҳаллии муштарӣ ҳамоҳанг мекунем, то ӯ офлайн кор кунад.

Дар: — Чаро шумо ORM-и худро сохтаед?

Алексей (яке аз таҳиягарони Look+): – Он вақт (як сол пеш буд) нисбат ба ҳозира, вақте ки онҳо хеле зиёданд, камтар ORM буданд. Чизи дӯстдоштаи ман дар бораи аксари ORMҳо дар он аст, ки аксарияти онҳо дар интерфейсҳои холӣ кор мекунанд. Яъне, усулҳо дар ин ORMҳо омодаанд ҳама чизро қабул кунанд: сохтор, нишондиҳандаи сохтор, рақам, чизи тамоман номарбуте...

ORM-и мо сохторҳоро дар асоси модели додаҳо тавлид мекунад. худам. Ва аз ин рӯ, ҳама усулҳо мушаххасанд, инъикосро истифода намебаранд ва ғайра. Онҳо сохторҳоро қабул мекунанд ва интизоранд, ки он сохторҳои омадаро истифода баранд.

Дар: — Чанд нафар иштирок карданд?

БОНУ: – Дар марҳилаи аввал ду нафар ширкат карданд. Мо дар ҷое дар моҳи июн оғоз кардем ва дар моҳи август қисми асосӣ омода буд (версияи аввал). Дар моҳи сентябр нашр шуд.

Дар: - Дар он ҷое, ки шумо SSE-ро тавсиф мекунед, шумо вақтро истифода намебаред. Барои чӣ ин?

БОНУ: – Рости гап, SSE то ҳол протоколи html5 аст: стандарти SSE то ҷое ки ман мефаҳмам, барои муошират бо браузерҳо пешбинӣ шудааст. Он дорои хусусиятҳои иловагӣ мебошад, то браузерҳо дубора пайваст шаванд (ва ғайра), аммо мо ба онҳо ниёз надорем, зеро мо муштариёне доштем, ки метавонанд ҳама гуна мантиқи пайвастшавӣ ва қабули иттилоотро амалӣ кунанд. Мо SSE наофаридем, балки чизи шабеҳи SSE. Ин худи протокол нест.
Ҳеч зарурат набуд. То ҷое ки ман мефаҳмам, муштариён механизми пайвастшавиро қариб аз сифр амалӣ кардаанд. Онҳо аслан парвое надоштанд.

Дар: – Кадом хидматҳои иловагиро истифода бурдед?

БОНУ: — Мо барои ягона кардани услуб, инчунин гофмт бештар гов ва голинтро фаъолона истифода мебурдем. Дигар чизе истифода нашуд.

Дар: - Барои ислоҳ кардан чӣ истифода бурдед?

БОНУ: - Ислоҳот асосан бо истифода аз санҷишҳо анҷом дода шуд. Мо ҳеҷ гуна ислоҳкунанда ё GOP-ро истифода набурдем.

Дар: – Метавонед слайдеро, ки функсияи Нашр амалӣ мешавад, баргардонед? Оё номҳои тағирёбандаи якҳарф шуморо ба иштибоҳ меандозанд?

БОНУ: - Не. Онҳо доираи хеле "танге"-и намоён доранд. Онҳо дар ҷои дигар истифода намешаванд (ба истиснои ҷузъҳои дохилии ин синф) ва он хеле паймон аст - он ҳамагӣ 7 сатрро мегирад.

Дар: - Ба ҳар ҳол интуитивӣ нест...

БОНУ: - Не, не, ин рамзи воқеӣ аст! Гап дар бораи услуб нест. Ин ҳамон як синфи фоидаовар, хеле хурд аст - танҳо 3 майдон дар дохили синф...

Михаил Салосин. Вохӯрии Голанг. Истифодаи Go дар пушти барномаи Look+

БОНУ: - Умуман, ҳама маълумоте, ки бо муштариён ҳамоҳанг карда мешавад (бозиҳои мавсимӣ, бозигарон) тағир намеёбад. Тахминан, агар мо варзиши дигаре созем, ки дар он мо бояд бозиро иваз кунем, мо ҳама чизро дар версияи нави муштарӣ ба назар мегирем ва версияҳои кӯҳнаи муштарӣ манъ карда мешаванд.

Дар: - Оё бастаҳои идоракунии вобастагӣ аз ҷониби сеюм вуҷуд доранд?

БОНУ: — Мо go dep-ро истифода мебурдем.

Дар: – Дар мавзӯи гузориш чизе дар бораи видео буд, аммо дар гузориш дар бораи видео чизе набуд.

БОНУ: – Не, ман дар мавзӯи видео чизе надорам. Он "Назар+" ном дорад - ин номи барнома аст.

Дар: – Гуфтед, ки он ба муштариён пахш мешавад?..

БОНУ: – Мо дар пахши видео иштирок надоштем. Ин корро пурра аз ҷониби Мегафон анҷом додааст. Бале, ман нагуфтам, ки барнома МегаФон аст.

БОНУ: – Гузаштан – барои фиристодани ҳама маълумот – дар бораи ҳисоб, рӯйдодҳои бозӣ, омор... Go тамоми пуштибонии барнома аст. Муштарӣ бояд аз ҷое донад, ки кадом истинод барои плеер истифода шавад, то корбар бозиро тамошо кунад. Мо ба видеоҳо ва ҷараёнҳои омодашуда истинодҳо дорем.

Баъзе рекламаҳо 🙂

Ташаккур ба шумо барои бо мо мондан. Мақолаҳои мо ба шумо маъқуланд? Мехоҳед мундариҷаи ҷолибтарро бубинед? Бо фармоиш додан ё тавсия додан ба дӯстон моро дастгирӣ кунед, абр VPS барои таҳиягарон аз $4.99, аналоги беназири серверҳои сатҳи ибтидоӣ, ки аз ҷониби мо барои шумо ихтироъ шудааст: Тамоми ҳақиқат дар бораи VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps аз $19 ё чӣ гуна мубодила кардани сервер? (бо RAID1 ва RAID10, то 24 ядро ​​ва то 40 ГБ DDR4 дастрас аст).

Dell R730xd дар маркази додаҳои Equinix Tier IV дар Амстердам 2 маротиба арзонтар аст? Танҳо дар ин ҷо 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ аз $199 дар Нидерландия! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - аз $99! Дар бораи хондан Корпоратсияи инфраструктураро чӣ гуна бояд сохт. синф бо истифодаи серверҳои Dell R730xd E5-2650 v4 ба маблағи 9000 XNUMX евро барои як динор?

Манбаъ: will.com

Илова Эзоҳ