Me pehea matou i CIAN i whakararata i nga terabytes o nga rakau

Me pehea matou i CIAN i whakararata i nga terabytes o nga rakau

Tena koutou katoa, ko Alexander toku ingoa, kei te mahi ahau i te CIAN hei miihini me te whai waahi ki te whakahaere punaha me te mahi aunoatanga o nga mahi hanganga. I roto i nga korero ki tetahi o nga tuhinga o mua, i kiihia mai ki a matou ki te korero ki hea ka whiwhi matou i te 4 TB o nga rakau i ia ra, me nga mea e mahia ana e matou. Ae, he maha a matou pororakau, kua hangaia he huinga hanganga motuhake hei tukatuka, e taea ai e matou te whakaoti rapanga. I roto i tenei tuhinga ka korero ahau mo te pehea i urutau ai matou i roto i te tau ki te mahi me te tipu haere o nga raraunga.

I timata tatou i hea?

Me pehea matou i CIAN i whakararata i nga terabytes o nga rakau

I roto i nga tau kua pahure ake nei, kua tere te tipu o te kawenga ki runga i te cian.ru, a, i te toru o nga hauwhitinga o te tau 2018, ka tae atu te hokohoko rauemi ki te 11.2 miriona nga kaiwhakamahi ahurei ia marama. I taua wa, i nga wa tino nui kua ngaro matou ki te 40% o nga rakau, na reira kaore e taea e matou te tere tere ki te whakatutuki i nga aitua me te whakapau i te wa me te whakapau kaha ki te whakatau. I te nuinga o nga wa kaore i kitea e matou te take o te raruraru, a ka hoki ano i muri i etahi wa. Ko te reinga me tetahi mea me mahi mo taua mea.

I taua wa, i whakamahia e matou he huinga o nga kohinga raraunga 10 me te putanga ElasticSearch 5.5.2 me nga tautuhinga taurangi paerewa hei penapena i nga raarangi. Neke atu i te kotahi tau i tukuna mai hei otinga rongonui me te utu: katahi karekau te rere o nga poro rakau i tino nui, kaore he take ki te whakaputa i nga whirihoranga kore-paerewa. 

Ko te tukatuka o nga raarangi taumai i tukuna e Logstash i runga i nga tauranga rereke i runga i nga kairuruku ElasticSearch e rima. Ko tetahi tohu, ahakoa te rahi, e rima nga maramara. I whakaritea he hurihanga ia haora me ia ra, no reira, tata ki te 100 nga maramara hou ka puta ki roto i te kahui ia haora. Ahakoa he iti rawa te maha o nga poro, i pai te mahi a te kahui, a, kaore tetahi i aro ki ona waahi. 

Nga wero o te tipu tere

I tino tere te tipu o nga pororakau i hangaia, na te mea e rua nga tukanga i whiti tetahi ki tetahi. I tetahi taha, kua piki ake te maha o nga kaiwhakamahi o te ratonga. I tetahi atu taha, i timata matou ki te huri kaha ki te hoahoanga microservice, ki te tarai i a matou monolith tawhito i roto i te C# me te Python. He maha nga tatini ratonga moroiti hou i whakakapi i nga waahanga o te monolith i tino nui ake nga raarangi mo te kahui hanganga. 

Na te tauine i arahi i a matou ki te waahi kua kore e taea te whakahaere. I te wa i timata ai nga rakau ki te tae mai ki te 20 mano nga karere mo ia hekona, ko te hurihanga koretake i te nuinga o nga wa ka piki ake te maha o nga maramara ki te 6 mano, a neke atu i te 600 nga maramara mo ia node. 

Na tenei i puta he raruraru ki te tohatoha o te RAM, a, i te wa i pakaru ai tetahi node, ka timata nga maramara katoa ki te neke i te wa kotahi, te whakanui i nga waka me te uta i etahi atu pona, na te mea kaore e taea te tuhi raraunga ki te kohinga. A i roto i tenei waa ka mahue matou kaore he rakau. A, ki te he raruraru ki te tūmau, tatou waiwai ngaro 1/10 o te tautau. He maha nga taupū iti i taapiri te uaua.

Ki te kore he pororakau, kaore matou i te marama ki nga take o te aitua, a ka taea e matou te eke ano ki runga i te rake kotahi, a, i runga i te whakaaro o ta matou roopu, kaore tenei i te whakaaetia, na te mea i hangaia a maatau mahi katoa ki te mahi rereke - kaua e mahi ano. nga raruraru ano. Ki te mahi i tenei, i hiahiatia e maatau te katoa o nga raarangi me o raatau tuku tata ki te waa tuuturu, na te mea he roopu miihini mahi-mahi i aro turuki i nga matohi ehara i te ine anake, engari mai i nga raarangi. Kia mohio ai koe ki te tauine o te raruraru, i taua wa ko te tapeke o nga poroporo he 2 TB ia ra. 

I whakatakotohia e matou he kaupapa ki te whakakore rawa i te ngaro o nga rakau me te whakaiti i te wa o to ratou tuku ki te roopu ELK ki te nui o nga meneti 15 i te wa o te kaha majeure (i muri mai ka whakawhirinaki matou ki tenei ahua hei KPI o roto).

He tikanga hurihanga hou me nga pona wera-wera

Me pehea matou i CIAN i whakararata i nga terabytes o nga rakau

I timata matou i te huringa tautau ma te whakahou i te putanga ElasticSearch mai i te 5.5.2 ki te 6.4.3. Ka mate ano ta matou kohinga 5 putanga, a ka whakatau matou ki te whakaweto me te whakahou katoa - kaore ano he raarangi. Na i mahia e matou tenei whakawhitinga i roto noa i nga haora e rua.

Ko te whakarereketanga tino nui i tenei waahanga ko te whakatinanatanga o Apache Kafka ki runga i nga pona e toru me te kairuruku hei parepare takawaenga. Na te kaihokohoko karere i whakaora i a maatau i te ngaro o nga raarangi i nga raru o ElasticSearch. I te wa ano, ka taapirihia e matou nga kohinga 2 ki te kohinga ka huri ki te hoahoanga wera-wera me nga waahanga "wera" e toru kei roto i nga whaa rereke i te pokapū raraunga. I tukuna ano e matou nga raarangi ki a raatau ma te whakamahi i te kanohi e kore e ngaro i raro i nga ahuatanga - nginx, me nga raarangi hapa tono. I tukuna nga raarangi iti ki nga toenga o nga pona - te patuiro, te whakatupato, me etahi atu, a i muri i nga haora 24, ka whakawhitia nga rakau "nui" mai i nga pona "wera".

Kia kore ai e piki ake te maha o nga tohu tohu iti, ka huri matou mai i te hurihanga o te waa ki te tikanga hurihuri. He maha nga korero i runga i nga huinga ko te hurihanga ma te rahi o te taurangi kaore i te pono, na reira i whakatau matou ki te whakamahi i te hurihanga ma te maha o nga tuhinga kei roto i te taurangi. I wetewetehia e matou ia taurangi me te tuhi i te maha o nga tuhinga i muri i te mahi hurihanga. No reira, kua tae matou ki te rahi o te maaka tino pai - kaua e neke ake i te 50 GB. 

Te arotautanga huinga

Me pehea matou i CIAN i whakararata i nga terabytes o nga rakau

Heoi ano, kare ano kia tino whakakorehia nga raruraru. Ko te mea pouri, ka puta tonu nga tohu iti: kaore i tae ki te rahinga kua tohua, kaore i hurihia, ka whakakorehia e te horoi o te ao o nga tohu kua neke ake i te toru nga ra, mai i te mea kua tangohia e matou te hurihanga i te ra. Na tenei ka ngaro nga raraunga na te mea kua ngaro katoa te taurangi mai i te kahui, a ko te ngana ki te tuhi ki tetahi tohu kore-kore i pakaru te arorau o te kaitiaki i whakamahia e matou mo te whakahaere. Ko te ingoa ingoa mo te tuhi i hurihia hei taurangi ka pakaru te arorau hurihuri, na te tipu koretake o etahi tohu ki te 600 GB. 

Hei tauira, mo te whirihora hurihanga:

сurator-elk-rollover.yaml

---
actions:
  1:
    action: rollover
    options:
      name: "nginx_write"
      conditions:
        max_docs: 100000000
  2:
    action: rollover
    options:
      name: "python_error_write"
      conditions:
        max_docs: 10000000

Mena karekau he ingoa ingoa huri, kua puta he hapa:

ERROR     alias "nginx_write" not found.
ERROR     Failed to complete action: rollover.  <type 'exceptions.ValueError'>: Unable to perform index rollover with alias "nginx_write".

I waihohia e matou te otinga mo tenei raru mo te waa e whai ake nei, ka puta ano tetahi atu take: ka huri matou ki te arorau kume a Logstash, e whakahaere ana i nga raarangi taumai (tango i nga korero koretake me te whakarangatira). I whakanohohia e matou ki roto i te docker, ka whakarewahia e matou ma te docker-compose, ka tukuna ano e matou he kai-kaihokohoko ki reira, ka tuku i nga inenga ki a Prometheus mo te tirotiro whakahaere i te awa rakau. I tenei huarahi i whai waahi matou ki te whakarereke ngawari i te maha o nga waahi o te raarangi mo te tukatuka i ia momo raarangi.

I a matou e whakapai ake ana i te kohinga, ka piki ake te hokohoko a cian.ru ki te 12,8 miriona nga kaiwhakamahi ahurei ia marama. Ko te hua o tenei, i puta mai he iti noa o taatau huringa i muri i nga huringa o te whakaputanga, a ka pa ki a matou ko te kore e taea e nga pona "mahana" te kawe i te kawenga me te whakaheke i te tukunga katoa o nga rakau. I whiwhi matou i nga raraunga "wera" me te kore he rahua, engari me wawao matou ki te tuku i te toenga me te mahi i te hurihuri a-ringa kia rite ai te tohatoha i nga tohu. 

I te wa ano, he uaua te whakatauira me te whakarereke i nga tautuhinga o nga waahi o te raarangi i roto i te roopu na te mea he tito docker-a-rohe, a ko nga mahi katoa i mahia ma te ringa (ki te taapiri i nga pito hou, he mea tika kia haere ma te ringa katoa. nga tūmau me te mahi docker-compose up -d i nga waahi katoa).

Te tohatoha rangitaki

I te marama o Hepetema o tenei tau, kei te tapahi tonu matou i te monolith, kei te piki haere te uta ki runga i te tautau, kei te tata te rere o nga rakau ki te 30 mano nga karere mo ia hekona. 

Me pehea matou i CIAN i whakararata i nga terabytes o nga rakau

I timata matou i te waahanga o muri mai me te whakahou taputapu. I huri matou mai i nga kairuruku e rima ki te toru, i whakakapi i nga kohinga raraunga ka wikitoria i runga i te moni me te waahi rokiroki. Mo nga pona ka whakamahia e matou nga whirihoranga e rua: 

  • Mo nga pona "wera": E3-1270 v6 / 960Gb SSD / 32 Gb x 3 x 2 (3 mo Hot1 me te 3 mo Hot2).
  • Mo nga pona "mahana": E3-1230 v6 / 4Tb SSD / 32 Gb x 4.

I tenei whitiwhitinga, i nekehia e matou te tohu me nga raarangi uru o nga ratonga miihini, e rite ana te waahi ki nga raarangi nginx raina-mua, ki te roopu tuarua o nga waahanga "wera" e toru. Ka penapenahia e matou nga raraunga i runga i nga waahanga "wera" mo nga haora 20, katahi ka whakawhiti ki nga waahanga "mahana" ki te toenga o nga rakau. 

I whakatauhia e matou te raru o nga tohu iti kua ngaro ma te whirihora ano i o raatau hurihanga. Inaianei ka hurihia nga tohu tohu ia 23 haora ahakoa he iti noa nga raraunga kei reira. Na tenei i piki ake te maha o nga maramara (tata ki te 800 o ratou), engari mai i te tirohanga o nga mahi a te roopu he pai. 

Ko te mutunga mai, e ono nga pona "wera" me te wha anake "mahana" i roto i te tautau. He iti nei te whakaroa mo nga tono mo nga wa roa, engari ko te whakanui ake i te maha o nga pona kei te heke mai ka whakaoti tenei raru.

I whakatikahia ano e tenei whitiwhitinga te raru o te kore o te whakatauine ahua-aunoa. Ki te mahi i tenei, i tukuna e matou he kohinga Nomad hanganga - he rite ki nga mea kua tukuna e matou ki te whakaputa. Mo tenei wa, ko te nui o te Logstash e kore e huri aunoa i runga i te kawenga, engari ka tae mai tatou ki tenei.

Me pehea matou i CIAN i whakararata i nga terabytes o nga rakau

Mahere mo te heke mai

Ko nga pauna whirihoranga kua whakatinanahia he pai, a inaianei kei te rongoa matou i te 13,3 TB o nga raraunga - nga raarangi katoa mo nga ra 4, he mea tika mo te tātari ohorere o nga matohi. Ka hurihia e matou etahi o nga raarangi hei inenga, ka taapirihia e matou ki te Graphite. Hei whakangwari ake i nga mahi a nga miihini, kei a matou nga inenga mo te kahui hanganga me nga tuhinga tuhi mo te whakatikatika ahua-aunoa o nga raru noa. I muri i te whakanui ake i te maha o nga kohinga raraunga, kua whakamaheretia mo te tau e whai ake nei, ka huri matou ki te rokiroki raraunga mai i te 4 ki te 7 ra. Ka ranea tenei mo nga mahi whakahaere, na te mea ka ngana tonu matou ki te tirotiro i nga aitua i te wa e taea ai, a, mo nga tirotirohanga mo te wa roa he raraunga waea. 

I te Oketopa 2019, kua piki kee te waka ki te cian.ru ki te 15,3 miriona nga kaiwhakamahi ahurei ia marama. He whakamatautau nui tenei mo te otinga hoahoanga mo te tuku rakau. 

Inaianei kei te whakareri matou ki te whakahou i te ElasticSearch ki te putanga 7. Heoi, mo tenei me whakahou e matou te mapi o nga tohu maha i ElasticSearch, i te mea i neke mai i te putanga 5.5 ka kiia kua kore i te putanga 6 (kaore noa i te noho i te putanga 7). Ko te tikanga tenei i te wa o te mahi whakahou ka puta he ahua o te kaha majeure, ka waiho maatau kaore he raarangi i te wa e whakatauhia ana te take. O te putanga 7, kei te tumanako matou ki a Kibana me te atanga pai ake me nga whiriwhiringa hou. 

I tutuki i a matou ta matou whainga matua: ka mutu te ngaro o nga poro rakau me te whakaiti i te wa paheketanga o te roopu hanganga mai i te 2-3 tukinga ia wiki ki te rua haora o te mahi tiaki ia marama. Ko enei mahi katoa i roto i te hanga kare e kitea. Heoi, inaianei ka taea e taatau te whakatau he aha te mea e pa ana ki ta maatau ratonga, ka taea e taatau te mahi i roto i te ahua ata noho me te kore e awangawanga ka ngaro nga rakau. I te nuinga o te wa, ka makona matou, ka koa me te whakarite mo nga mahi hou, ka korerohia e matou i muri mai.

Source: will.com

Tāpiri i te kōrero