Bii a ṣe gba data lori awọn ipolowo ipolowo lati awọn aaye ori ayelujara (ọna elegun si ọja naa)

O dabi pe aaye ti ipolowo ori ayelujara yẹ ki o jẹ ilọsiwaju ti imọ-ẹrọ ati adaṣe bi o ti ṣee. Nitoribẹẹ, nitori iru awọn omiran ati awọn amoye ni aaye wọn bi Yandex, Mail.Ru, Google ati Facebook ṣiṣẹ nibẹ. Ṣugbọn, bi o ti wa ni jade, ko si opin si pipe ati pe ohunkan wa nigbagbogbo lati ṣe adaṣe.

Bii a ṣe gba data lori awọn ipolowo ipolowo lati awọn aaye ori ayelujara (ọna elegun si ọja naa)
Orisun

Ẹgbẹ ibaraẹnisọrọ Dentsu Aegis Network Russia jẹ oṣere ti o tobi julọ ni ọja ipolowo oni-nọmba ati pe o n ṣe idoko-owo ni itara ni imọ-ẹrọ, n gbiyanju lati mu ki o ṣe adaṣe awọn ilana iṣowo rẹ. Ọkan ninu awọn iṣoro ti ko yanju ti ọja ipolongo ori ayelujara ti di iṣẹ-ṣiṣe ti gbigba awọn iṣiro lori awọn ipolongo ipolongo lati oriṣiriṣi awọn iru ẹrọ Intanẹẹti. Ojutu si iṣoro yii nikẹhin yorisi ṣiṣẹda ọja kan D1.Digital (ka bi DiVan), idagbasoke ti eyi ti a fẹ lati sọrọ nipa.

Kí nìdí?

1. Ni akoko ibẹrẹ ti ise agbese na, ko si ọja kan ti a ti ṣetan lori ọja ti o yanju iṣoro ti iṣaṣeto akojọpọ awọn iṣiro lori awọn ipolongo ipolongo. Eyi tumọ si pe ko si ẹnikan ayafi ti ara wa ti yoo pade awọn aini wa.

Awọn iṣẹ bii Improvado, Roistat, Supermetrics, SegmentStream nfunni ni iṣọpọ pẹlu awọn iru ẹrọ, awọn nẹtiwọọki awujọ ati Google Analitycs, ati tun jẹ ki o ṣee ṣe lati kọ awọn dasibodu itupalẹ fun itupalẹ irọrun ati iṣakoso ti awọn ipolowo ipolowo. Ṣaaju ki a to bẹrẹ idagbasoke ọja wa, a gbiyanju lati lo diẹ ninu awọn eto wọnyi lati gba data lati awọn aaye, ṣugbọn, laanu, wọn ko le yanju awọn iṣoro wa.

Iṣoro akọkọ ni pe awọn ọja ti o ni idanwo gbarale awọn orisun data, ti n ṣafihan awọn iṣiro ipo ipo nipasẹ aaye, ati pe ko pese agbara lati ṣajọpọ awọn iṣiro lori awọn ipolowo ipolowo. Ọna yii ko gba wa laaye lati wo awọn iṣiro lati awọn aaye oriṣiriṣi ni aaye kan ati ṣe itupalẹ ipo ti ipolongo naa lapapọ.

Idi miiran ni pe ni awọn ipele ibẹrẹ awọn ọja ti wa ni ifọkansi si ọja Oorun ati pe ko ṣe atilẹyin isọpọ pẹlu awọn aaye Russia. Ati fun awọn aaye wọnyẹn eyiti o ti ṣe imuse iṣọpọ, gbogbo awọn metiriki pataki ko ṣe igbasilẹ nigbagbogbo pẹlu awọn alaye to, ati pe iṣọpọ ko rọrun nigbagbogbo ati sihin, ni pataki nigbati o jẹ dandan lati gba nkan ti ko si ni wiwo eto.
Ni gbogbogbo, a pinnu lati ma ṣe deede si awọn ọja ti ẹnikẹta, ṣugbọn bẹrẹ idagbasoke tiwa…

2. Ọja ipolowo ori ayelujara n dagba lati ọdun de ọdun, ati ni 2018, ni awọn ofin ti awọn isuna ipolowo, o bori ọja ipolowo TV ti aṣa ti aṣa. Nitorina iwọn kan wa.

3. Ko dabi ọja ipolowo TV, nibiti titaja ti ipolowo iṣowo jẹ monopolized, ọpọlọpọ awọn oniwun kọọkan wa ti akojo ipolowo ipolowo ti awọn titobi oriṣiriṣi ti n ṣiṣẹ lori Intanẹẹti pẹlu awọn akọọlẹ ipolowo tiwọn. Niwọn igba ti ipolongo ipolongo, gẹgẹbi ofin, nṣiṣẹ lori awọn aaye pupọ ni ẹẹkan, lati ni oye ipo ti ipolongo ipolongo, o jẹ dandan lati gba awọn iroyin lati gbogbo awọn aaye ati ki o darapọ wọn sinu iroyin nla kan ti yoo fi gbogbo aworan han. Eyi tumọ si pe agbara wa fun iṣapeye.

4. O dabi enipe fun wa pe awọn oniwun ti akojo ipolowo lori Intanẹẹti ti ni awọn amayederun fun gbigba awọn iṣiro ati ṣafihan wọn ni awọn akọọlẹ ipolowo, ati pe wọn yoo ni anfani lati pese API kan fun data yii. Eyi tumọ si pe o ṣee ṣe ni imọ-ẹrọ lati ṣe imuse rẹ. Jẹ ká sọ lẹsẹkẹsẹ ti o wa ni ko ni le ki o rọrun.

Ni gbogbogbo, gbogbo awọn ohun pataki fun imuse ti ise agbese na han wa, ati pe a sare lati mu iṣẹ naa wa si aye…

Grand ètò

Lati bẹrẹ pẹlu, a ṣẹda iran ti eto pipe:

  • Awọn ipolongo ipolowo lati eto ile-iṣẹ 1C yẹ ki o wa ni ikojọpọ laifọwọyi sinu rẹ pẹlu awọn orukọ wọn, awọn akoko, awọn isuna-owo ati awọn ipo lori awọn iru ẹrọ oriṣiriṣi.
  • Fun ipo kọọkan laarin ipolongo ipolowo, gbogbo awọn iṣiro ti o ṣeeṣe yẹ ki o ṣe igbasilẹ laifọwọyi lati awọn aaye ti ibi-ipamọ naa ti n waye, gẹgẹbi nọmba awọn iwunilori, awọn titẹ, awọn iwo, ati bẹbẹ lọ.
  • Diẹ ninu awọn ipolongo ipolowo ni a tọpinpin nipa lilo ibojuwo ẹnikẹta nipasẹ ohun ti a pe ni awọn eto ipolowo bii Adriver, Weborama, DCM, ati bẹbẹ lọ. Mita Intanẹẹti ile-iṣẹ tun wa ni Russia - ile-iṣẹ Mediascope. Gẹgẹbi ero wa, data lati ominira ati ibojuwo ile-iṣẹ yẹ ki o tun jẹ fifuye laifọwọyi sinu awọn ipolowo ipolowo ti o baamu.
  • Pupọ awọn ipolowo ipolowo lori Intanẹẹti ni ifọkansi si awọn iṣe ibi-afẹde kan (ra, ipe, forukọsilẹ fun awakọ idanwo, ati bẹbẹ lọ), eyiti a tọpinpin nipa lilo Awọn atupale Google, ati awọn iṣiro fun eyiti o tun ṣe pataki fun agbọye ipo ipolongo naa ati yẹ ki o kojọpọ sinu ọpa wa.

Ohun akọkọ ti o buruju jẹ lumpy

Fi fun ifaramo wa si awọn ilana rọ ti idagbasoke sọfitiwia (agile, ohun gbogbo), a pinnu lati kọkọ ṣe agbekalẹ MVP kan lẹhinna gbe lọ si ibi-afẹde ti a pinnu ni igbagbogbo.
A pinnu lati kọ MVP da lori ọja wa DANBo (Dentsu Aegis Network Board), eyiti o jẹ ohun elo wẹẹbu pẹlu alaye gbogbogbo lori awọn ipolowo ipolowo awọn alabara wa.

Fun MVP, ise agbese na jẹ irọrun bi o ti ṣee ṣe ni awọn ofin imuse. A ti yan atokọ lopin ti awọn iru ẹrọ fun iṣọpọ. Iwọnyi jẹ awọn iru ẹrọ akọkọ, bii Yandex.Direct, Yandex.Display, RB.Mail, MyTarget, Adwords, DBM, VK, FB, ati awọn eto ipolowo ipolowo akọkọ Adriver ati Weborama.

Lati wọle si awọn iṣiro lori awọn aaye nipasẹ API, a lo akọọlẹ kan. Oluṣakoso ẹgbẹ onibara kan ti o fẹ lati lo ikojọpọ awọn iṣiro aifọwọyi lori ipolongo ipolowo ni lati kọkọ fi iraye si awọn ipolowo ipolowo pataki lori awọn aaye si akọọlẹ pẹpẹ.

Nigbamii ni olumulo eto DANBo ni lati gbe faili kan ti ọna kika kan sinu eto Excel, eyiti o ni gbogbo alaye nipa ibisi (ipolongo ipolowo, pẹpẹ, ọna kika, akoko gbigbe, awọn afihan ti a gbero, isuna, ati bẹbẹ lọ) ati awọn idamọ ti awọn ipolowo ipolowo ti o baamu lori ojula ati awọn counter ni adserving awọn ọna šiše.

O wò, nitootọ, ẹru:

Bii a ṣe gba data lori awọn ipolowo ipolowo lati awọn aaye ori ayelujara (ọna elegun si ọja naa)

Awọn data ti a ṣe igbasilẹ ti wa ni ipamọ sinu ibi ipamọ data, ati lẹhinna awọn iṣẹ lọtọ ti o gba awọn idamọ ipolongo lori awọn aaye lati ọdọ wọn ati awọn iṣiro ti a ṣe igbasilẹ lori wọn.

Fun aaye kọọkan, iṣẹ window lọtọ ni a kọ, eyiti o lọ ni ẹẹkan ni ọjọ kan labẹ akọọlẹ iṣẹ kan ni API ti aaye naa ati awọn iṣiro ti o ṣe igbasilẹ fun awọn ID ipolongo pato. Ohun kanna ṣẹlẹ pẹlu awọn ọna ṣiṣe ipolowo.

Awọn data ti a ṣe igbasilẹ ti han lori wiwo ni irisi dasibodu aṣa kekere kan:

Bii a ṣe gba data lori awọn ipolowo ipolowo lati awọn aaye ori ayelujara (ọna elegun si ọja naa)

Lairotẹlẹ fun wa, MVP bẹrẹ iṣẹ ati bẹrẹ gbigba awọn iṣiro lọwọlọwọ lori awọn ipolowo ipolowo lori Intanẹẹti. A ṣe eto naa lori ọpọlọpọ awọn alabara, ṣugbọn nigba igbiyanju lati iwọn, a pade awọn iṣoro to ṣe pataki:

  • Iṣoro akọkọ ni idiju ti ngbaradi data fun ikojọpọ sinu eto naa. Paapaa, data gbigbe ni lati yipada si ọna kika to muna ṣaaju ikojọpọ. O jẹ dandan lati ṣafikun awọn idamọ nkan lati oriṣiriṣi awọn aaye ninu faili igbasilẹ naa. A dojuko pẹlu otitọ pe o ṣoro pupọ fun awọn olumulo ti ko ni imọ-ẹrọ lati ṣalaye ibiti o ti rii awọn idamọ wọnyi lori aaye naa ati ibiti o wa ninu faili ti wọn nilo lati tẹ sii. Ṣiyesi nọmba awọn oṣiṣẹ ti o wa ninu awọn ẹka ti n ṣiṣẹ awọn ipolongo lori awọn aaye ati iyipada, eyi yorisi iye nla ti atilẹyin ni ẹgbẹ wa, eyiti a ko ni idunnu rara.
  • Iṣoro miiran ni pe kii ṣe gbogbo awọn iru ẹrọ ipolowo ni awọn ilana fun yiyan iraye si awọn ipolongo ipolowo si awọn akọọlẹ miiran. Ṣugbọn paapaa ti ẹrọ aṣoju ba wa, kii ṣe gbogbo awọn olupolowo ni o fẹ lati funni ni iraye si awọn ipolongo wọn si awọn akọọlẹ ẹnikẹta.
  • Ohun pataki kan ni ibinu ti o ru laarin awọn olumulo nipasẹ otitọ pe gbogbo awọn itọkasi ti a gbero ati awọn alaye ibi ti wọn ti tẹ sinu eto ṣiṣe iṣiro 1C wa tẹlẹ, wọn gbọdọ tun wọle si. DANBo.

Eyi fun wa ni imọran pe orisun akọkọ ti alaye nipa gbigbe yẹ ki o jẹ eto 1C wa, ninu eyiti gbogbo data ti wa ni titẹ ni deede ati ni akoko (ojuami nibi ni pe awọn iwe-owo ti wa ni ipilẹṣẹ ti o da lori data 1C, nitorinaa titẹsi data ti o tọ sinu 1C ni ayo fun gbogbo eniyan KPI). Eyi ni bii imọran tuntun ti eto naa ṣe jade…

Erongba

Ohun akọkọ ti a pinnu lati ṣe ni lati ya eto naa fun ikojọpọ awọn iṣiro lori awọn ipolowo ipolowo lori Intanẹẹti sinu ọja lọtọ - D1.Digital.

Ninu ero tuntun, a pinnu lati fifuye sinu D1.Digital alaye lori awọn ipolongo ipolongo ati awọn ipo laarin wọn lati 1C, ati lẹhinna fa awọn iṣiro soke lati awọn aaye ati awọn eto AdServing si awọn ipo wọnyi. Eyi yẹ ki o rọrun ni igbesi aye ni pataki fun awọn olumulo (ati, bi igbagbogbo, ṣafikun iṣẹ diẹ sii si awọn olupilẹṣẹ) ati dinku iye atilẹyin.

Iṣoro akọkọ ti a ba pade jẹ ti ẹda eleto ati pe o ni ibatan si otitọ pe a ko le rii bọtini tabi ami nipasẹ eyiti a le ṣe afiwe awọn nkan lati awọn ọna ṣiṣe oriṣiriṣi pẹlu awọn ipolongo ati awọn ipo lati 1C. Otitọ ni pe ilana ti o wa ni ile-iṣẹ wa ni a ṣe ni ọna ti awọn ipolongo ipolongo ti wa ni titẹ sinu awọn ọna ṣiṣe ti o yatọ nipasẹ awọn eniyan ọtọtọ (awọn oluṣeto media, ifẹ si, bbl).

Lati yanju iṣoro yii, a ni lati ṣẹda bọtini hashed alailẹgbẹ kan, DANBoID, ti yoo so awọn nkan ṣopọ ni awọn ọna ṣiṣe oriṣiriṣi papọ, ati pe o le ni irọrun ni irọrun ati ni iyasọtọ ti idanimọ ni awọn eto data ti a ṣe igbasilẹ. Idanimọ yii jẹ ipilẹṣẹ ninu eto 1C inu fun gbigbe kọọkan kọọkan ati pe a gbe lọ si awọn ipolongo, awọn ipo ati awọn iṣiro lori gbogbo awọn aaye ati ni gbogbo awọn eto AdServing. Ṣiṣe iṣe ti fifi DANBoID si gbogbo awọn aaye gba akoko diẹ, ṣugbọn a ṣakoso lati ṣe :)

Lẹhinna a rii pe kii ṣe gbogbo awọn aaye ni API fun gbigba awọn iṣiro laifọwọyi, ati paapaa awọn ti o ni API, ko da gbogbo data pataki pada.

Ni ipele yii, a pinnu lati dinku atokọ ti awọn iru ẹrọ pataki fun isọpọ ati idojukọ lori awọn iru ẹrọ akọkọ ti o ni ipa ninu ọpọlọpọ awọn ipolowo ipolowo. Atokọ yii pẹlu gbogbo awọn oṣere ti o tobi julọ ni ọja ipolowo (Google, Yandex, Mail.ru), awọn nẹtiwọọki awujọ (VK, Facebook, Twitter), AdServing pataki ati awọn eto itupalẹ (DCM, Adriver, Weborama, Awọn atupale Google) ati awọn iru ẹrọ miiran.

Pupọ julọ awọn aaye ti a yan ni API ti o pese awọn metiriki ti a nilo. Ni awọn ọran nibiti ko si API tabi ko ni data to wulo, a lo awọn ijabọ ti a firanṣẹ lojoojumọ si imeeli ọfiisi wa lati ṣaja data (ni diẹ ninu awọn eto o ṣee ṣe lati tunto iru awọn ijabọ, ni awọn miiran a gba lori idagbasoke ti iru awọn iroyin fun wa).

Nigbati a ba n ṣatupalẹ data lati oriṣiriṣi awọn aaye, a rii pe awọn ilana ti awọn nkan kii ṣe kanna ni awọn eto oriṣiriṣi. Pẹlupẹlu, alaye nilo lati ṣe igbasilẹ ni awọn alaye oriṣiriṣi lati awọn ọna ṣiṣe oriṣiriṣi.

Lati yanju iṣoro yii, imọran SubDANBoID ti ni idagbasoke. Ero ti SubDANBoID jẹ ohun rọrun, a samisi nkan akọkọ ti ipolongo lori aaye naa pẹlu DANBoID ti ipilẹṣẹ, ati pe a gbejade gbogbo awọn ile-iṣẹ itẹ-ẹiyẹ pẹlu awọn idamọ aaye alailẹgbẹ ati ṣe agbekalẹ SubDANBoID ni ibamu si ipilẹ DANBoID + idanimọ ti ipele akọkọ. nkan ti o ni itẹ-ẹiyẹ + idamo ti nkan ti o ni ipele keji ipele +... Ọna yii gba wa laaye lati sopọ awọn ipolongo ipolowo ni awọn eto oriṣiriṣi ati ṣe igbasilẹ awọn iṣiro alaye lori wọn.

A tun ni lati yanju iṣoro ti iraye si awọn ipolongo lori awọn iru ẹrọ oriṣiriṣi. Gẹgẹbi a ti kowe loke, ilana ti fifi iwọle si ipolongo kan si akọọlẹ imọ-ẹrọ lọtọ kii ṣe iwulo nigbagbogbo. Nitorinaa, a ni lati ṣe agbekalẹ ohun amayederun fun aṣẹ adaṣe nipasẹ OAuth nipa lilo awọn ami ati awọn ilana fun mimudojuiwọn awọn ami wọnyi.

Nigbamii ninu nkan naa a yoo gbiyanju lati ṣapejuwe ni awọn alaye diẹ sii ti faaji ti ojutu ati awọn alaye imọ-ẹrọ ti imuse.

Solusan faaji 1.0

Nigbati o ba bẹrẹ imuse ti ọja tuntun, a loye pe a nilo lẹsẹkẹsẹ lati pese fun iṣeeṣe ti sisopọ awọn aaye tuntun, nitorinaa a pinnu lati tẹle ọna ti faaji microservice.

Nigbati o ba n ṣe apẹrẹ faaji, a ya awọn asopọ si gbogbo awọn eto ita - 1C, awọn iru ẹrọ ipolowo ati awọn eto ipolowo - sinu awọn iṣẹ lọtọ.
Ero akọkọ ni pe gbogbo awọn asopọ si awọn aaye ni API kanna ati pe awọn oluyipada ti o mu aaye API wa si wiwo ti o rọrun fun wa.

Ni aarin ọja wa jẹ ohun elo wẹẹbu kan, eyiti o jẹ monolith ti a ṣe apẹrẹ ni ọna ti o le ni irọrun dipọ sinu awọn iṣẹ. Ohun elo yii jẹ iduro fun sisẹ data ti o gbasilẹ, ikojọpọ awọn iṣiro lati awọn eto oriṣiriṣi ati fifihan wọn si awọn olumulo eto.

Lati ṣe ibaraẹnisọrọ laarin awọn asopọ ati ohun elo wẹẹbu, a ni lati ṣẹda iṣẹ afikun kan, eyiti a pe ni Aṣoju Asopọmọra. O ṣe awọn iṣẹ ti Awari Iṣẹ ati Iṣeto Iṣẹ-ṣiṣe. Iṣẹ yii nṣiṣẹ awọn iṣẹ-ṣiṣe gbigba data fun asopọ kọọkan ni gbogbo oru. Kikọ Layer iṣẹ rọrun ju sisopọ alagbata ifiranṣẹ kan, ati fun wa o ṣe pataki lati gba abajade ni yarayara bi o ti ṣee.

Fun irọrun ati iyara idagbasoke, a tun pinnu pe gbogbo awọn iṣẹ yoo jẹ API Wẹẹbu. Eyi jẹ ki o ṣee ṣe lati ṣajọpọ ẹri-ti-imọran ni kiakia ati rii daju pe gbogbo apẹrẹ ṣiṣẹ.

Bii a ṣe gba data lori awọn ipolowo ipolowo lati awọn aaye ori ayelujara (ọna elegun si ọja naa)

Iṣẹ-ṣiṣe ti o yatọ, dipo eka ni ṣiṣeto iraye si lati gba data lati oriṣiriṣi awọn akọọlẹ, eyiti, bi a ti pinnu, o yẹ ki o ṣe nipasẹ awọn olumulo nipasẹ wiwo wẹẹbu. O ni awọn igbesẹ lọtọ meji: akọkọ, olumulo ṣe afikun ami kan lati wọle si akọọlẹ nipasẹ OAuth, ati lẹhinna tunto ikojọpọ data fun alabara lati akọọlẹ kan pato. Gbigba aami nipasẹ OAuth jẹ pataki nitori, bi a ti kọ tẹlẹ, kii ṣe nigbagbogbo ṣee ṣe lati ṣe aṣoju iraye si akọọlẹ ti o fẹ lori aaye naa.

Lati ṣẹda ẹrọ ti gbogbo agbaye fun yiyan akọọlẹ kan lati awọn aaye, a ni lati ṣafikun ọna kan si awọn asopọ API ti o dapada JSON Schema, eyiti a ṣe sinu fọọmu kan nipa lilo paati JSONEditor ti a ṣe atunṣe. Ni ọna yii, awọn olumulo ni anfani lati yan awọn akọọlẹ lati eyiti lati ṣe igbasilẹ data.

Lati ni ibamu pẹlu awọn opin ibeere ti o wa lori awọn aaye, a ṣajọpọ awọn ibeere fun awọn eto laarin aami kan, ṣugbọn a le ṣe ilana awọn ami oriṣiriṣi ni afiwe.

A yan MongoDB bi ibi ipamọ fun data ti kojọpọ fun ohun elo wẹẹbu mejeeji ati awọn asopọ, eyiti o fun wa laaye lati ma ṣe aniyan pupọ nipa eto data ni awọn ipele ibẹrẹ ti idagbasoke, nigbati awoṣe ohun elo naa yipada ni gbogbo ọjọ miiran.

Laipẹ a rii pe kii ṣe gbogbo data ni ibamu daradara ni MongoDB ati, fun apẹẹrẹ, o rọrun diẹ sii lati tọju awọn iṣiro ojoojumọ ni aaye data ibatan kan. Nitorinaa, fun awọn asopọ ti eto data rẹ dara julọ fun data data ibatan, a bẹrẹ lilo PostgreSQL tabi MS SQL Server bi ibi ipamọ.

Awọn faaji ti a yan ati awọn imọ-ẹrọ gba wa laaye lati kọ ati ṣe ifilọlẹ ọja D1.Digital ni iyara ni iyara. Ni ọdun meji ti idagbasoke ọja, a ṣe idagbasoke awọn asopọ 23 si awọn aaye, ni iriri ti ko niye ti ṣiṣẹ pẹlu awọn API ẹni-kẹta, kọ ẹkọ lati yago fun awọn ipalara ti awọn aaye ọtọtọ, eyiti ọkọọkan ni ara wọn, ṣe alabapin si idagbasoke API ti o kere ju 3 awọn aaye ayelujara, alaye ti o gba lati ayelujara laifọwọyi lori awọn ipolongo 15 ati fun diẹ sii ju awọn ipo 000, gba ọpọlọpọ awọn esi lati ọdọ awọn olumulo lori iṣẹ ti ọja naa ati ṣakoso lati yi ilana akọkọ ti ọja pada ni igba pupọ, da lori esi yii.

Solusan faaji 2.0

Ọdun meji ti kọja lati ibẹrẹ idagbasoke D1.Digital. Alekun igbagbogbo ni fifuye lori eto ati ifarahan ti diẹ sii ati siwaju sii awọn orisun data tuntun diẹdiẹ ṣafihan awọn iṣoro ni faaji ojutu ti o wa tẹlẹ.

Iṣoro akọkọ jẹ ibatan si iye data ti a gba lati ayelujara lati awọn aaye naa. A dojuko pẹlu otitọ pe gbigba ati imudojuiwọn gbogbo data pataki lati awọn aaye ti o tobi julọ bẹrẹ lati gba akoko pupọ. Fun apẹẹrẹ, gbigba data lati eto ipolowo AdRiver, pẹlu eyiti a tọpa awọn iṣiro fun ọpọlọpọ awọn aaye, gba to wakati 12.

Lati yanju iṣoro yii, a bẹrẹ lilo gbogbo iru awọn ijabọ lati ṣe igbasilẹ data lati awọn aaye, a n gbiyanju lati ṣe agbekalẹ API wọn papọ pẹlu awọn aaye naa ki iyara iṣẹ rẹ ba awọn iwulo wa ṣe, ati ṣe afiwe igbasilẹ data bi o ti ṣee ṣe.

Iṣoro miiran ni ibatan si sisẹ data ti a gbasile. Ni bayi, nigbati awọn iṣiro ipo ipo tuntun ba de, ilana ipele pupọ ti awọn metiriki ṣiṣatunṣe jẹ ifilọlẹ, eyiti o pẹlu ikojọpọ data aise, iṣiro awọn metiriki akojọpọ fun aaye kọọkan, ifiwera data lati awọn orisun oriṣiriṣi pẹlu ara wọn, ati iṣiro awọn metiriki akojọpọ fun ipolongo naa. Eyi fa ẹru pupọ lori ohun elo wẹẹbu ti o ṣe gbogbo awọn iṣiro. Ni ọpọlọpọ igba, lakoko ilana isọdọtun, ohun elo naa jẹ gbogbo iranti lori olupin naa, nipa 10-15 GB, eyiti o ni ipa ti o buru julọ lori iṣẹ awọn olumulo pẹlu eto naa.

Awọn iṣoro ti a mọ ati awọn ero ifẹnukonu fun idagbasoke ọja siwaju si mu wa si iwulo lati tun wo faaji ohun elo naa.

A bẹrẹ pẹlu awọn asopọ.
A ṣe akiyesi pe gbogbo awọn asopọ n ṣiṣẹ ni ibamu si awoṣe kanna, nitorinaa a kọ ilana opo gigun kan ninu eyiti lati ṣẹda asopọ kan o ni lati ṣe eto ọgbọn ti awọn igbesẹ, iyokù jẹ gbogbo agbaye. Ti asopo kan ba nilo ilọsiwaju, lẹhinna a gbe lọ lẹsẹkẹsẹ si ilana tuntun ni akoko kanna bi asopọ ti n ni ilọsiwaju.

Ni akoko kanna, a bẹrẹ sisọ awọn asopọ si Docker ati Kubernetes.
A gbero gbigbe lọ si Kubernetes fun igba pipẹ, ṣe idanwo pẹlu awọn eto CI / CD, ṣugbọn bẹrẹ gbigbe nikan nigbati asopọ kan, nitori aṣiṣe kan, bẹrẹ lati jẹ diẹ sii ju 20 GB ti iranti lori olupin naa, ni adaṣe pa awọn ilana miiran. . Lakoko iwadii naa, a ti gbe asopo naa lọ si iṣupọ Kubernetes kan, nibiti o ti wa nikẹhin, paapaa lẹhin aṣiṣe ti o wa titi.

Ni iyara a rii pe Kubernetes rọrun, ati laarin oṣu mẹfa a gbe awọn asopọ 7 ati Aṣoju Asopọmọra, eyiti o jẹ awọn orisun pupọ julọ, si iṣupọ iṣelọpọ.

Ni atẹle awọn asopọ, a pinnu lati yi faaji ti iyoku ohun elo naa pada.
Iṣoro akọkọ ni pe data wa lati awọn asopọ si awọn aṣoju ni awọn ipele nla, ati lẹhinna lu DANBoID ati firanṣẹ si ohun elo wẹẹbu aringbungbun fun sisẹ. Nitori nọmba nla ti awọn iṣiro metiriki, ẹru nla wa lori ohun elo naa.

O tun fihan pe o nira pupọ lati ṣe atẹle ipo ti awọn iṣẹ gbigba data kọọkan ati ijabọ awọn aṣiṣe ti o waye laarin awọn asopọ si ohun elo wẹẹbu aarin kan ki awọn olumulo le rii ohun ti n ṣẹlẹ ati idi ti data ko ṣe gba.

Lati yanju awọn iṣoro wọnyi, a ṣe agbekalẹ faaji 2.0.

Iyatọ akọkọ laarin ẹya tuntun ti faaji ni pe dipo API Wẹẹbu, a lo RabbitMQ ati ile-ikawe MassTransit lati ṣe paṣipaarọ awọn ifiranṣẹ laarin awọn iṣẹ. Lati ṣe eyi, a ni lati fẹrẹ atunkọ Aṣoju Awọn Asopọmọra patapata, ṣiṣe ni Ipele Awọn asopọ. Orukọ naa ti yipada nitori ipa akọkọ ti iṣẹ naa ko si ni fifiranṣẹ awọn ibeere si awọn asopọ ati sẹhin, ṣugbọn ni ṣiṣakoso ikojọpọ awọn metiriki lati awọn asopọ.

Lati inu ohun elo wẹẹbu aringbungbun, a yapa alaye nipa awọn ipo ati awọn iṣiro lati awọn aaye si awọn iṣẹ lọtọ, eyiti o jẹ ki o ṣee ṣe lati yọkuro awọn iṣiro ti ko wulo ati fipamọ nikan ti iṣiro tẹlẹ ati awọn iṣiro akojọpọ ni ipele ipo. A tun ṣe atunto ati iṣapeye ọgbọn-ọrọ fun ṣiṣe iṣiro awọn iṣiro ipilẹ ti o da lori data aise.

Ni akoko kanna, a n ṣikiri gbogbo awọn iṣẹ ati awọn ohun elo si Docker ati Kubernetes lati jẹ ki ojutu rọrun lati ṣe iwọn ati irọrun diẹ sii lati ṣakoso.

Bii a ṣe gba data lori awọn ipolowo ipolowo lati awọn aaye ori ayelujara (ọna elegun si ọja naa)

Ibo lowa bayi

Ẹri-ti-Erongba faaji 2.0 ọja D1.Digital setan ati ki o ṣiṣẹ ni a igbeyewo ayika pẹlu kan lopin ṣeto ti awọn asopo. Gbogbo ohun ti o kù lati ṣe ni lati tunkọ awọn asopọ 20 miiran si pẹpẹ tuntun kan, ṣe idanwo pe data ti kojọpọ ni deede ati pe gbogbo awọn metiriki ni iṣiro ni deede, ati yi gbogbo apẹrẹ jade sinu iṣelọpọ.

Ni otitọ, ilana yii yoo ṣẹlẹ diẹdiẹ ati pe a yoo ni lati lọ kuro ni ibamu sẹhin pẹlu awọn API atijọ lati jẹ ki ohun gbogbo ṣiṣẹ.

Awọn ero lẹsẹkẹsẹ wa pẹlu idagbasoke awọn asopọ tuntun, isọpọ pẹlu awọn ọna ṣiṣe tuntun ati fifi awọn metiriki afikun kun si ṣeto data ti a ṣe igbasilẹ lati awọn aaye ti o sopọ ati awọn eto ipolowo.

A tun gbero lati gbe gbogbo awọn ohun elo, pẹlu ohun elo wẹẹbu aringbungbun, si Docker ati Kubernetes. Ni idapọ pẹlu faaji tuntun, eyi yoo jẹ irọrun imuṣiṣẹ ni pataki, abojuto ati iṣakoso awọn orisun ti o jẹ.

Ero miiran ni lati ṣe idanwo pẹlu yiyan data data fun titoju awọn iṣiro, eyiti o wa ni ipamọ lọwọlọwọ ni MongoDB. A ti gbe ọpọlọpọ awọn asopọ tuntun si awọn apoti isura infomesonu SQL, ṣugbọn nibẹ ni iyatọ jẹ eyiti a ko ṣe akiyesi, ati fun awọn iṣiro apapọ ni ọjọ, eyiti o le beere fun akoko lainidii, ere le jẹ pataki pupọ.

Ni gbogbogbo, awọn ero jẹ nla, jẹ ki a tẹsiwaju :)

Awọn onkọwe nkan R&D Dentsu Aegis Network Russia: Georgy Ostapenko (shmiigaMikhail Kotsik (hitexx)

orisun: www.habr.com

Fi ọrọìwòye kun