Giunsa namo pagkolekta ang datos sa mga kampanya sa advertising gikan sa mga online nga site (ang tunok nga dalan paingon sa produkto)

Morag ang natad sa advertising sa online kinahanglan nga ingon ka abante sa teknolohiya ug awtomatiko kutob sa mahimo. Siyempre, tungod kay ang mga higante ug eksperto sa ilang natad sama sa Yandex, Mail.Ru, Google ug Facebook nagtrabaho didto. Apan, ingon nga kini nahimo, wala’y limitasyon sa kahingpitan ug kanunay adunay usa ka butang nga awtomatiko.

Giunsa namo pagkolekta ang datos sa mga kampanya sa advertising gikan sa mga online nga site (ang tunok nga dalan paingon sa produkto)
Tinubdan

Grupo sa komunikasyon Dentsu Aegis Network sa Russia mao ang pinakadako nga magdudula sa digital advertising market ug aktibo nga namuhunan sa teknolohiya, naningkamot nga ma-optimize ug ma-automate ang mga proseso sa negosyo niini. Usa sa wala masulbad nga mga problema sa merkado sa advertising sa online nahimo nga tahas sa pagkolekta sa mga istatistika sa mga kampanya sa advertising gikan sa lainlaing mga platform sa Internet. Ang solusyon sa kini nga problema sa katapusan miresulta sa paghimo sa usa ka produkto D1.Digital (basaha isip DiVan), ang kalamboan nga gusto natong hisgutan.

Ngano?

1. Sa panahon sa pagsugod sa proyekto, walay bisan usa ka andam nga produkto sa merkado nga nakasulbad sa problema sa pag-automate sa pagkolekta sa mga estadistika sa mga kampanya sa advertising. Kini nagpasabot nga walay usa gawas sa atong kaugalingon ang makatagbaw sa atong mga panginahanglan.

Ang mga serbisyo sama sa Improvado, Roistat, Supermetrics, SegmentStream nagtanyag og integrasyon sa mga platform, social network ug Google Analitycs, ug gihimo usab nga posible ang paghimo og analytical dashboards alang sa sayon ​​​​nga pagtuki ug pagkontrol sa mga kampanya sa advertising. Sa wala pa kami magsugod sa pagpalambo sa among produkto, among gisulayan ang paggamit sa pipila niini nga mga sistema sa pagkolekta sa datos gikan sa mga site, apan, sa kasubo, dili nila masulbad ang among mga problema.

Ang nag-unang problema mao nga ang gisulayan nga mga produkto gibase sa mga tinubdan sa datos, nagpakita sa mga estadistika sa placement pinaagi sa site, ug wala maghatag ug abilidad sa pag-aggregate sa mga estadistika sa mga kampanya sa advertising. Kini nga pamaagi wala magtugot kanamo sa pagtan-aw sa mga estadistika gikan sa lainlaing mga site sa usa ka lugar ug pag-analisar sa kahimtang sa kampanya sa kinatibuk-an.

Ang laing hinungdan mao nga sa unang mga yugto ang mga produkto gitumong sa merkado sa Kasadpan ug wala mosuporta sa paghiusa sa mga site sa Russia. Ug alang sa mga site nga gipatuman ang panagsama, ang tanan nga kinahanglan nga mga sukatan dili kanunay nga na-download nga adunay igo nga detalye, ug ang panagsama dili kanunay nga kombenyente ug transparent, labi na kung kinahanglan nga makakuha usa ka butang nga wala sa interface sa system.
Sa kinatibuk-an, nakahukom kami nga dili mopahiangay sa mga produkto sa ikatulo nga partido, apan nagsugod sa pagpalambo sa among kaugalingon ...

2. Ang merkado sa online nga advertising nag-uswag matag tuig, ug sa 2018, sa mga termino sa mga badyet sa advertising, naapsan niini ang tradisyonal nga pinakadako nga merkado sa advertising sa TV. Busa adunay usa ka timbangan.

3. Dili sama sa merkado sa advertising sa TV, diin ang pagbaligya sa komersyal nga advertising gimonopolyo, adunay daghang mga indibidwal nga tag-iya sa imbentaryo sa advertising sa lainlaing mga gidak-on nga naglihok sa Internet nga adunay ilang kaugalingon nga mga account sa advertising. Tungod kay ang usa ka kampanya sa advertising, ingon nga usa ka lagda, nagdagan sa daghang mga site sa usa ka higayon, aron masabtan ang kahimtang sa kampanya sa advertising, gikinahanglan ang pagkolekta sa mga taho gikan sa tanan nga mga site ug paghiusa kini sa usa ka dako nga taho nga magpakita sa tibuuk nga litrato. Kini nagpasabut nga adunay potensyal alang sa pag-optimize.

4. Ingon namo nga ang mga tag-iya sa imbentaryo sa advertising sa Internet aduna nay imprastraktura sa pagkolekta sa mga estadistika ug pagpakita niini sa mga account sa advertising, ug sila makahatag ug API alang niini nga datos. Kini nagpasabot nga kini sa teknikal nga posible nga sa pagpatuman niini. Ingnon ta dayon nga kini nahimo nga dili kaayo yano.

Sa kinatibuk-an, ang tanan nga mga kinahanglanon alang sa pagpatuman sa proyekto klaro kanamo, ug kami midagan aron mabuhi ang proyekto ...

Dakong plano

Sa pagsugod, naghimo kami usa ka panan-awon sa usa ka sulundon nga sistema:

  • Ang mga kampanya sa pag-advertise gikan sa sistema sa korporasyon sa 1C kinahanglan nga awtomatiko nga ikarga niini sa ilang mga ngalan, mga panahon, mga badyet ug mga pagbutang sa lainlaing mga plataporma.
  • Alang sa matag pagbutang sa sulod sa usa ka kampanya sa advertising, ang tanan nga posible nga estadistika kinahanglan nga awtomatiko nga ma-download gikan sa mga site kung diin nahitabo ang pagbutang, sama sa gidaghanon sa mga impresyon, pag-klik, pagtan-aw, ug uban pa.
  • Ang ubang mga kampanya sa advertising gisubay gamit ang pag-monitor sa ikatulo nga partido pinaagi sa gitawag nga mga sistema sa pag-adserba sama sa Adriver, Weborama, DCM, ug uban pa. Adunay usab usa ka industriyal nga metro sa Internet sa Russia - ang kompanya sa Mediascope. Sumala sa among plano, ang mga datos gikan sa independente ug industriyal nga pag-monitor kinahanglan usab nga awtomatiko nga i-load sa katugbang nga mga kampanya sa advertising.
  • Kadaghanan sa mga kampanya sa advertising sa Internet gitumong sa pipila ka mga target nga aksyon (pagpalit, pagtawag, pag-sign up alang sa usa ka test drive, ug uban pa), nga gisubay gamit ang Google Analytics, ug mga estadistika nga hinungdanon usab aron masabtan ang kahimtang sa kampanya ug kinahanglan nga ikarga sa atong himan.

Ang nag-unang butang mao ang bukol

Tungod sa among pasalig sa flexible nga mga prinsipyo sa pagpalambo sa software (abtik, tanan nga mga butang), nakahukom kami nga una nga mag-develop og MVP ug dayon mobalhin ngadto sa gituyo nga tumong.
Nakahukom kami nga magtukod og MVP base sa among produkto DANBo (Detsu Aegis Network Board), nga usa ka web application nga adunay kinatibuk-ang impormasyon sa mga kampanya sa advertising sa among mga kliyente.

Alang sa MVP, ang proyekto gipasayon ​​kutob sa mahimo sa mga termino sa pagpatuman. Nagpili kami og limitado nga listahan sa mga plataporma alang sa paghiusa. Kini ang mga nag-unang plataporma, sama sa Yandex.Direct, Yandex.Display, RB.Mail, MyTarget, Adwords, DBM, VK, FB, ug ang nag-unang adserving system nga Adriver ug Weborama.

Aron ma-access ang mga estadistika sa mga site pinaagi sa API, migamit kami og usa ka account. Ang manedyer sa grupo sa kliyente nga gustong mogamit ug awtomatik nga pagkolekta sa mga estadistika sa usa ka kampanya sa pag-anunsiyo kinahanglan una nga magdelegar og access sa gikinahanglan nga mga kampanya sa advertising sa mga site ngadto sa plataporma nga account.

Sunod mao ang tiggamit sa sistema DANBo kinahanglan nga mag-upload sa usa ka file sa usa ka piho nga format sa sistema sa Excel, nga adunay tanan nga kasayuran bahin sa pagbutang (kampanya sa advertising, plataporma, format, yugto sa pagbutang, giplano nga mga timailhan, badyet, ug uban pa) ug mga identifier sa katugbang nga kampanya sa advertising sa mga site ug mga counter sa adserving system.

Kini tan-awon, prangka, makalilisang:

Giunsa namo pagkolekta ang datos sa mga kampanya sa advertising gikan sa mga online nga site (ang tunok nga dalan paingon sa produkto)

Ang na-download nga datos gitipigan ngadto sa usa ka database, ug dayon ang bulag nga mga serbisyo nagkolekta sa mga identifier sa kampanya sa mga site gikan kanila ug nag-download sa mga estadistika niini.

Alang sa matag site, usa ka bulag nga serbisyo sa windows ang gisulat, nga kausa sa usa ka adlaw gipailalom sa usa ka account sa serbisyo sa API sa site ug nag-download sa mga istatistika alang sa piho nga mga ID sa kampanya. Ang sama nga butang nahitabo sa adserving system.

Ang na-download nga datos gipakita sa interface sa porma sa usa ka gamay nga custom dashboard:

Giunsa namo pagkolekta ang datos sa mga kampanya sa advertising gikan sa mga online nga site (ang tunok nga dalan paingon sa produkto)

Sa wala damha alang kanamo, ang MVP nagsugod sa pagtrabaho ug nagsugod sa pag-download sa karon nga mga istatistika sa mga kampanya sa advertising sa Internet. Among gipatuman ang sistema sa daghang mga kliyente, apan sa dihang misulay sa pag-scale, nakasugat mig seryoso nga mga problema:

  • Ang nag-unang problema mao ang pagkakomplikado sa pag-andam sa datos alang sa pagkarga sa sistema. Usab, ang datos sa pagbutang kinahanglan nga mabag-o sa usa ka higpit nga pormat sa wala pa i-load. Gikinahanglan nga ilakip ang mga identifier sa entidad gikan sa lainlaing mga site sa pag-download nga file. Nag-atubang kami sa kamatuoran nga lisud kaayo alang sa mga teknikal nga wala mabansay nga mga tiggamit sa pagpatin-aw kung asa makit-an kini nga mga identifier sa site ug kung diin sa file kinahanglan nga isulod. Gikonsiderar ang gidaghanon sa mga empleyado sa mga departamento nga nagpadagan sa mga kampanya sa mga site ug ang turnover, kini miresulta sa usa ka dako nga kantidad sa suporta sa among kiliran, nga wala gyud kami nalipay.
  • Laing problema mao nga dili tanan nga mga platform sa advertising adunay mga mekanismo sa pagdelegar sa pag-access sa mga kampanya sa advertising sa ubang mga account. Apan bisan kung adunay usa ka mekanismo sa delegasyon, dili tanan nga mga tig-anunsyo andam nga maghatag access sa ilang mga kampanya sa mga account sa ikatulo nga partido.
  • Ang usa ka hinungdanon nga hinungdan mao ang kasuko nga napukaw sa mga tiggamit sa kamatuoran nga ang tanan nga giplano nga mga timailhan ug mga detalye sa pagbutang nga nasulod na nila sa among 1C accounting system, kinahanglan nila nga mosulod pag-usab. DANBo.

Naghatag kini kanamo sa ideya nga ang panguna nga gigikanan sa kasayuran bahin sa pagbutang kinahanglan mao ang among 1C nga sistema, diin ang tanan nga datos gisulod sa tukma ug sa oras (ang punto dinhi mao nga ang mga invoice gihimo base sa 1C nga datos, mao nga husto ang pagsulod sa datos sa 1C usa ka prayoridad sa tanan KPI). Ingon niini kung giunsa ang usa ka bag-ong konsepto sa sistema mitumaw ...

Konsepto

Ang una nga butang nga among nadesisyonan nga buhaton mao ang pagbulag sa sistema sa pagkolekta sa mga estadistika sa mga kampanya sa advertising sa Internet sa usa ka lahi nga produkto - D1.Digital.

Sa bag-ong konsepto, nakahukom kami nga i-load sa D1.Digital impormasyon sa mga kampanya sa pag-advertise ug mga placement sulod niini gikan sa 1C, ug dayon kuhaa ang mga estadistika gikan sa mga site ug mga sistema sa AdServing ngadto niini nga mga placement. Kini unta sa kamahinungdanon pagpayano sa kinabuhi alang sa mga tiggamit (ug, sama sa naandan, makadugang sa dugang nga trabaho sa mga developers) ug pagpakunhod sa gidaghanon sa suporta.

Ang unang problema nga among nasugatan kay usa ka organisasyonal nga kinaiya ug nalangkit sa kamatuoran nga dili namo makit-an ang yawe o timaan diin among makomparar ang mga entidad gikan sa lain-laing mga sistema nga adunay mga kampanya ug mga placement gikan sa 1C. Ang tinuod mao nga ang proseso sa among kompanya gidisenyo sa paagi nga ang mga kampanya sa advertising gisulod sa lainlaing mga sistema sa lainlaing mga tawo (mga tigplano sa media, pagpalit, ug uban pa).

Aron masulbad kini nga problema, kinahanglan namon nga mag-imbento ug usa ka talagsaon nga hashed nga yawe, DANBoID, nga mag-link sa mga entidad sa lainlaing mga sistema, ug kana mahimo nga dali ug talagsaon nga mailhan sa na-download nga mga set sa datos. Kini nga identifier gihimo sa internal nga 1C nga sistema alang sa matag indibidwal nga pagbutang ug gibalhin sa mga kampanya, mga pagbutang ug mga counter sa tanan nga mga site ug sa tanan nga mga sistema sa AdServing. Ang pag-implementar sa praktis sa pagbutang sa DANBoID sa tanang mga placement nagkinahanglan og pipila ka panahon, apan nakahimo kami sa pagbuhat niini :)

Dayon nahibal-an namon nga dili tanan nga mga site adunay API alang sa awtomatikong pagkolekta sa mga istatistika, ug bisan kadtong adunay usa ka API, dili kini ibalik ang tanan nga kinahanglan nga datos.

Niini nga yugto, nakahukom kami nga makunhuran ang lista sa mga plataporma alang sa panagsama ug ipunting ang mga nag-unang plataporma nga nahilambigit sa kadaghanan sa mga kampanya sa advertising. Kini nga lista naglakip sa tanan nga pinakadako nga mga magdudula sa merkado sa advertising (Google, Yandex, Mail.ru), mga social network (VK, Facebook, Twitter), mga mayor nga AdServing ug analytics system (DCM, Adriver, Weborama, Google Analytics) ug uban pang mga platform.

Ang kadaghanan sa mga site nga among gipili adunay API nga naghatag sa mga sukatan nga among gikinahanglan. Sa mga kaso diin walay API o wala kini naglangkob sa gikinahanglan nga datos, gigamit namo ang mga report nga gipadala kada adlaw sa among email sa opisina aron sa pag-load sa datos (sa pipila ka mga sistema posible nga ma-configure ang maong mga taho, sa uban kami miuyon sa pagpalambo sa maong mga taho. alang kanato).

Kung nag-analisar sa datos gikan sa lainlaing mga site, nahibal-an namon nga ang hierarchy sa mga entidad dili parehas sa lainlaing mga sistema. Dugang pa, ang impormasyon kinahanglan nga ma-download sa lain-laing mga detalye gikan sa lain-laing mga sistema.

Aron masulbad kini nga problema, ang konsepto sa SubDANBoID naugmad. Ang ideya sa SubDANBoID yano ra, gimarkahan namon ang panguna nga entidad sa kampanya sa site nga adunay nahimo nga DANBoID, ug gi-upload namon ang tanan nga nested entity nga adunay talagsaon nga mga identifier sa site ug giporma ang SubDANBoID sumala sa prinsipyo sa DANBoID + identifier sa unang lebel nested entity + identifier sa ikaduhang level nested entity +... Kini nga pamaagi nagtugot kanamo sa pagkonektar sa mga kampanya sa advertising sa lain-laing mga sistema ug pag-download sa mga detalyadong estadistika niini.

Kinahanglan usab namon nga sulbaron ang problema sa pag-access sa mga kampanya sa lainlaing mga platform. Sama sa among gisulat sa ibabaw, ang mekanismo sa pagdelegar sa pag-access sa usa ka kampanya sa usa ka bulag nga teknikal nga account dili kanunay magamit. Busa, kinahanglan namong maghimo ug imprastraktura para sa awtomatik nga pagtugot pinaagi sa OAuth gamit ang mga token ug mekanismo sa pag-update niini nga mga token.

Sa ulahi sa artikulo atong sulayan nga ihulagway sa mas detalyado ang arkitektura sa solusyon ug ang teknikal nga mga detalye sa pagpatuman.

Solusyon nga arkitektura 1.0

Sa pagsugod sa pagpatuman sa usa ka bag-ong produkto, nasabtan namo nga gikinahanglan dayon namo ang paghatag alang sa posibilidad sa pagkonektar sa bag-ong mga site, mao nga nakahukom kami nga sundon ang dalan sa microservice architecture.

Kung nagdesinyo sa arkitektura, gibulag namon ang mga konektor sa tanan nga mga eksternal nga sistema - 1C, mga platform sa advertising ug mga sistema sa pag-adserve - sa lainlaing mga serbisyo.
Ang panguna nga ideya mao nga ang tanan nga mga konektor sa mga site adunay parehas nga API ug mga adapter nga nagdala sa site API sa usa ka interface nga kombenyente alang kanamo.

Sa sentro sa among produkto usa ka aplikasyon sa web, nga usa ka monolith nga gidisenyo sa paagi nga dali kini mabungkag sa mga serbisyo. Kini nga aplikasyon ang responsable sa pagproseso sa na-download nga datos, pagkolekta sa mga istatistika gikan sa lainlaing mga sistema ug pagpresentar niini sa mga tiggamit sa sistema.

Aron makigkomunikar tali sa mga konektor ug sa web application, kinahanglan namong maghimo ug dugang nga serbisyo, nga among gitawag nga Connector Proxy. Gihimo niini ang mga gimbuhaton sa Pagdiskobre sa Serbisyo ug Pag-iskedyul sa Buluhaton. Kini nga serbisyo nagpadagan sa mga buluhaton sa pagkolekta sa datos alang sa matag konektor matag gabii. Ang pagsulat sa usa ka layer sa serbisyo labi ka dali kaysa pagkonektar sa usa ka broker sa mensahe, ug alang kanamo hinungdanon nga makuha ang resulta sa labing madali.

Alang sa kayano ug katulin sa kalamboan, nakahukom usab kami nga ang tanang serbisyo mahimong mga Web API. Kini nagpaposible sa dali nga pag-assemble sa usa ka pamatuod-sa-konsepto ug pagmatuod nga ang tibuok nga disenyo nagtrabaho.

Giunsa namo pagkolekta ang datos sa mga kampanya sa advertising gikan sa mga online nga site (ang tunok nga dalan paingon sa produkto)

Ang usa ka bulag, labi ka komplikado nga buluhaton mao ang pag-set up sa pag-access aron mangolekta mga datos gikan sa lainlaing mga account, nga, ingon nga among nadesisyonan, kinahanglan buhaton sa mga tiggamit pinaagi sa web interface. Naglangkob kini sa duha ka bulag nga mga lakang: una, ang tiggamit nagdugang usa ka timaan aron ma-access ang account pinaagi sa OAuth, ug dayon gi-configure ang pagkolekta sa datos alang sa kliyente gikan sa usa ka piho nga account. Ang pag-angkon og token pinaagi sa OAuth gikinahanglan tungod kay, sama sa nasulat na namo, dili kanunay posible ang pagdelegar og access sa gusto nga account sa site.

Aron makahimo ug unibersal nga mekanismo sa pagpili sa usa ka account gikan sa mga site, kinahanglan namong idugang ang usa ka pamaagi sa mga connectors API nga nagbalik sa JSON Schema, nga gihubad ngadto sa usa ka porma gamit ang giusab nga JSONEditor component. Niining paagiha, ang mga tiggamit nakahimo sa pagpili sa mga account diin mag-download sa datos.

Aron matuman ang mga limitasyon sa hangyo nga anaa sa mga site, gihiusa namo ang mga hangyo alang sa mga setting sulod sa usa ka token, apan mahimo namong iproseso ang lain-laing mga token nga managsama.

Gipili namo ang MongoDB isip usa ka storage alang sa loaded data alang sa web application ug connectors, nga nagtugot kanamo nga dili kaayo mabalaka mahitungod sa istruktura sa datos sa unang mga hugna sa kalamboan, kung ang object model sa aplikasyon mausab kada adlaw.

Sa wala madugay nahibal-an namon nga dili tanan nga datos mohaum sa MongoDB ug, pananglitan, mas sayon ​​​​ang pagtipig sa adlaw-adlaw nga estadistika sa usa ka relational database. Busa, alang sa mga konektor kansang istruktura sa datos mas angay alang sa usa ka relational database, nagsugod kami sa paggamit sa PostgreSQL o MS SQL Server isip storage.

Ang gipili nga arkitektura ug mga teknolohiya nagtugot kanamo sa pagtukod ug paglansad sa D1.Digital nga produkto medyo dali. Kapin sa duha ka tuig nga pag-uswag sa produkto, nakahimo kami og 23 ka mga konektor sa mga site, nakakuha og bililhon nga kasinatian sa pagtrabaho kauban ang mga third-party nga API, nakakat-on sa paglikay sa mga lit-ag sa lain-laing mga site, nga ang matag usa adunay ilang kaugalingon, nakatampo sa pagpalambo sa API sa labing menos 3 mga site, awtomatik nga nag-download sa impormasyon sa halos 15 ka mga kampanya ug alang sa labaw sa 000 ka mga placement, nangolekta og daghang feedback gikan sa mga tiggamit sa operasyon sa produkto ug nakahimo sa pag-usab sa nag-unang proseso sa produkto sa makadaghang higayon, base niini nga feedback.

Solusyon nga arkitektura 2.0

Duha ka tuig ang milabay sukad sa pagsugod sa kalamboan D1.Digital. Ang kanunay nga pagtaas sa load sa sistema ug ang pagtunga sa dugang ug mas bag-ong mga tinubdan sa data anam-anam nga nagpadayag sa mga problema sa kasamtangan nga solusyon nga arkitektura.

Ang unang problema may kalabutan sa gidaghanon sa data nga na-download gikan sa mga site. Nag-atubang kami sa kamatuoran nga ang pagkolekta ug pag-update sa tanan nga gikinahanglan nga datos gikan sa pinakadako nga mga site nagsugod sa paggahin og daghang panahon. Pananglitan, ang pagkolekta sa datos gikan sa AdRiver adserving system, diin among gisubay ang mga estadistika sa kadaghanang mga placement, mokabat ug 12 ka oras.

Aron masulbad kini nga problema, nagsugod kami sa paggamit sa tanan nga mga matang sa mga taho sa pag-download sa datos gikan sa mga site, naningkamot kami sa pagpalambo sa ilang API kauban ang mga site aron ang katulin sa operasyon niini makatubag sa among mga panginahanglan, ug iparehas ang pag-download sa datos kutob sa mahimo.

Ang laing problema may kalabotan sa pagproseso sa na-download nga datos. Karon, kung moabut ang bag-ong estadistika sa pagbutang, usa ka multi-stage nga proseso sa pag-recalculate sa mga sukatan ang gilunsad, nga naglakip sa pagkarga sa hilaw nga datos, pagkalkula sa mga giipon nga sukatan alang sa matag site, pagtandi sa datos gikan sa lainlaing mga gigikanan sa usag usa, ug pagkalkula sa mga summary metric para sa kampanya. Kini maoy hinungdan sa daghang load sa web application nga naghimo sa tanang kalkulasyon. Daghang mga higayon, sa panahon sa proseso sa pag-recalculate, gigamit sa aplikasyon ang tanan nga memorya sa server, mga 10-15 GB, nga adunay labing makadaot nga epekto sa pagtrabaho sa mga tiggamit sa sistema.

Ang nahibal-an nga mga problema ug ambisyoso nga mga plano alang sa dugang nga pag-uswag sa produkto nagdala kanamo sa panginahanglan nga hunahunaon pag-usab ang arkitektura sa aplikasyon.

Nagsugod kami sa mga konektor.
Namatikdan namon nga ang tanan nga mga konektor nagtrabaho sumala sa parehas nga modelo, mao nga nagtukod kami usa ka balangkas sa pipeline diin maghimo usa ka konektor kinahanglan nimo nga iprograma ang lohika sa mga lakang, ang nahabilin mao ang unibersal. Kung ang pila ka konektor nanginahanglan pag-ayo, dayon gibalhin namon kini sa usa ka bag-ong balangkas sa parehas nga oras samtang gipauswag ang konektor.

Sa parehas nga oras, nagsugod kami sa pag-deploy sa mga konektor sa Docker ug Kubernetes.
Giplano namon ang pagbalhin sa Kubernetes sa dugay nga panahon, nag-eksperimento sa mga setting sa CI / CD, apan nagsugod sa paglihok lamang kung ang usa ka konektor, tungod sa usa ka sayup, nagsugod sa pagkaon sa labaw pa sa 20 GB nga memorya sa server, nga halos nagpatay sa ubang mga proseso. . Atol sa imbestigasyon, ang connector gibalhin ngadto sa usa ka Kubernetes cluster, diin kini sa katapusan nagpabilin, bisan human ang error naayo.

Dali ra namong naamgohan nga ang Kubernetes sayon, ug sulod sa unom ka bulan gibalhin namo ang 7 ka connectors ug Connectors Proxy, nga naggamit sa pinakadaghang mga kapanguhaan, ngadto sa production cluster.

Pagkahuman sa mga konektor, nakahukom kami nga usbon ang arkitektura sa nahabilin nga aplikasyon.
Ang nag-unang problema mao nga ang data gikan sa mga konektor ngadto sa mga proxy sa dagkong mga batch, ug dayon naigo sa DANBoID ug gipadala ngadto sa sentral nga aplikasyon sa web alang sa pagproseso. Tungod sa kadaghan sa mga pagkalkula sa mga sukatan, adunay daghang pagkarga sa aplikasyon.

Napamatud-an usab nga lisud ang pag-monitor sa kahimtang sa indibidwal nga mga trabaho sa pagkolekta sa datos ug pagreport sa mga sayup nga nahitabo sa sulod sa mga konektor sa usa ka sentral nga aplikasyon sa web aron makita sa mga tiggamit kung unsa ang nahitabo ug kung ngano nga wala makolekta ang datos.

Aron masulbad kini nga mga problema, among gipalambo ang arkitektura 2.0.

Ang nag-unang kalainan tali sa bag-ong bersyon sa arkitektura mao nga imbes sa Web API, among gigamit ang RabbitMQ ug ang MassTransit library aron magbayloay og mga mensahe tali sa mga serbisyo. Aron mahimo kini, kinahanglan namon nga hapit hingpit nga isulat pag-usab ang Connectors Proxy, nga gihimo kini nga Connectors Hub. Giusab ang ngalan tungod kay ang panguna nga tahas sa serbisyo wala na sa pagpasa sa mga hangyo sa mga konektor ug pabalik, apan sa pagdumala sa koleksyon sa mga sukatan gikan sa mga konektor.

Gikan sa sentro nga aplikasyon sa web, among gibulag ang impormasyon bahin sa mga placement ug estadistika gikan sa mga site ngadto sa lain nga mga serbisyo, nga nagpaposible sa pagtangtang sa wala kinahanglana nga mga kalkulasyon ug pagtipig lamang sa nakalkula na ug giipon nga mga estadistika sa lebel sa pagbutang. Gisulat usab namo ug gi-optimize ang lohika para sa pagkalkula sa mga batakang estadistika base sa hilaw nga datos.

Sa parehas nga oras, gibalhin namon ang tanan nga mga serbisyo ug aplikasyon sa Docker ug Kubernetes aron mapadali ang pagsukod sa solusyon ug labi ka dali nga pagdumala.

Giunsa namo pagkolekta ang datos sa mga kampanya sa advertising gikan sa mga online nga site (ang tunok nga dalan paingon sa produkto)

Asa ta karon

Proof-of-concept nga arkitektura 2.0 nga produkto D1.Digital andam ug nagtrabaho sa usa ka palibot sa pagsulay nga adunay limitado nga hugpong sa mga konektor. Ang nahabilin nga buhaton mao ang pagsulat pag-usab sa laing 20 ka mga konektor sa usa ka bag-ong plataporma, pagsulay nga ang datos gikarga sa husto ug ang tanan nga mga sukatan kay kalkulado sa husto, ug i-roll out ang tibuok nga disenyo ngadto sa produksyon.

Sa tinuud, kini nga proseso hinay-hinay nga mahitabo ug kinahanglan namon nga biyaan ang atrasado nga pagpahiangay sa mga daan nga API aron magpadayon nga molihok ang tanan.

Ang among hinanali nga mga plano naglakip sa pagpalambo sa bag-ong mga connector, integrasyon sa bag-ong mga sistema ug pagdugang og dugang nga metrics sa set sa datos nga gi-download gikan sa konektado nga mga site ug adserving system.

Nagplano usab kami nga ibalhin ang tanan nga aplikasyon, lakip ang sentral nga aplikasyon sa web, sa Docker ug Kubernetes. Inubanan sa bag-ong arkitektura, kini labi nga makapasimple sa pag-deploy, pag-monitor ug pagkontrol sa nahurot nga mga kapanguhaan.

Ang laing ideya mao ang pag-eksperimento sa pagpili sa database alang sa pagtipig sa mga estadistika, nga sa pagkakaron gitipigan sa MongoDB. Gibalhin na namo ang pipila ka bag-ong mga koneksyon sa mga database sa SQL, apan didto ang kalainan halos dili mamatikdan, ug alang sa aggregated statistics sa adlaw, nga mahimong hangyoon alang sa usa ka arbitraryong panahon, ang ganansya mahimong seryoso kaayo.

Sa kinatibuk-an, ang mga plano dako kaayo, magpadayon kita :)

Mga tagsulat sa artikulo nga R&D Dentsu Aegis Network Russia: Georgy Ostapenko (shmiigaa), Mikhail Kotsik (hitex)

Source: www.habr.com

Idugang sa usa ka comment