Top fakapov Cyan

Top fakapov Cyan

HemĂź xweß! 

NavĂȘ min Nikita ye, ez serokĂȘ tĂźmĂȘ tĂźmĂȘ endezyariya Cian me. Yek ji berpirsiyariyĂȘn min ĂȘn li pargĂźdaniyĂȘ ew e ku hejmara bĂ»yerĂȘn ku bi binesaziya hilberĂźnĂȘ ve girĂȘdayĂź ne kĂȘm bikim.
Ya ku dĂȘ li jĂȘr were nĂźqaß kirin gelek ĂȘß ji me re aniye, Ă» mebesta vĂȘ gotarĂȘ ew e ku rĂȘ li ber kesĂȘn din bigire ku xeletiyĂȘn me dubare nekin an bi kĂȘmanĂź bandora wan kĂȘm bikin. 

Preamble

Demek dirĂȘj berĂȘ, dema ku Cyan ji monolĂźtan pĂȘk dihat, Ă» hĂźna üƟaretĂȘn mĂźkroservĂźsan tune bĂ»n, me hebĂ»na çavkaniyekĂȘ bi kontrolkirina 3-5 rĂ»pelan pĂźv kir. 

Ew bersiv didin - her tißt baß e, heke ew ji bo demek dirĂȘj bersiv nedin - hißyar. Ji bo ku ev bĂ»yer wekĂź bĂ»yer were hesibandin, di civĂźnan de biryar ji aliyĂȘ mirovan ve hat dayĂźn. TĂźmek endezyaran her tim tevlĂź lĂȘkolĂźna bĂ»yerĂȘ bĂ». Dema ku vekolĂźn qediya, wan postmortemek nivĂźsand - celebek raporek bi e-nameyĂȘ di vĂȘ formĂȘ de: çi qewimĂź, çiqas dom kir, me di vĂȘ gavĂȘ de çi kir, em ĂȘ di pĂȘßerojĂȘ de çi bikin. 

RĂ»pelĂȘn sereke yĂȘn malperĂȘ an jĂź em çawa fam dikin ku me li binĂȘ xwe xistiye

 
Ji bo ku em bi rengek pĂȘƟüya xeletiyĂȘ fam bikin, me rĂ»pelĂȘn malperĂȘ yĂȘn herĂź krĂźtĂźk ji bo fonksiyona karsaziyĂȘ nas kirine. Bi karanĂźna wan, em hejmara daxwazĂȘn serketĂź / neserkeftĂź Ă» demjimaran dihejmĂȘrin. Bi vĂź rengĂź em dema xebatĂȘ dipĂźvin. 

Ka em bibĂȘjin me fĂȘhm kir ku hejmarek beßĂȘn pir girĂźng ĂȘn malperĂȘ hene ku berpirsiyariya karĂ»barĂȘ sereke ne - lĂȘgerĂźn Ă» ßandina reklaman. Ger hejmara daxwazĂȘn ku bi ser nekevin ji 1%, ev bĂ»yerek krĂźtĂźk e. Ger di nav 15 hĂ»rdeman de di dema sereke de rĂȘjeya xeletiyĂȘ ji% 0,1 derbas bibe, wĂȘ hingĂȘ ev jĂź wekĂź bĂ»yerek krĂźtĂźk tĂȘ hesibandin. Van pĂźvanan piraniya bĂ»yeran vedihewĂźne;

Top fakapov Cyan

Top best bĂ»yerĂȘn Cian

Ji ber vĂȘ yekĂȘ, em bĂȘ guman fĂȘr bĂ»ne ku rastiya bĂ»yerek qewimĂź diyar bikin. 

Niha her bĂ»yerek bi berfirehĂź tĂȘ vegotin Ă» di dastana JĂźra de xuya dike. Bi awayĂȘ: ji bo vĂȘ yekĂȘ me projeyek cihĂȘ dest pĂȘ kir, jĂȘ re FAIL tĂȘ gotin - tenĂȘ epĂźk dikarin tĂȘ de werin afirandin. 

Ger hĂ»n hemĂź tĂȘkçûnĂȘn çend salĂȘn borĂź berhev bikin, serok ev in: 

  • bĂ»yerĂȘn girĂȘdayĂź mssql;
  • bĂ»yerĂȘn ku ji hĂȘla faktorĂȘn derveyĂź ve tĂȘne çĂȘkirin;
  • çewtiyĂȘn admin.

Ka em bi hĂ»rgulĂź li xeletiyĂȘn rĂȘvebiran, Ă» hem jĂź li hin tĂȘkçûnĂȘn din ĂȘn balkĂȘß binĂȘrin.

CihĂȘ pĂȘncemĂźn - "Di DNS-ĂȘ de tißtan rĂȘz kirin"

SĂȘßemeke bahoz bĂ». Me biryar da ku em rĂȘzĂȘ di koma DNS de vegerĂźnin. 

Min dixwest ku serverĂȘn DNS-ya navxweyĂź ji bind-ĂȘ veguhezĂźnim powerdns, ji bo vĂȘ yekĂȘ serverĂȘn bi tevahĂź veqetandĂź veqetĂźnim, li wir ji bilĂź DNS-ĂȘ tißtek tune. 

Me serverek DNS li her cĂźhĂȘ DC-yĂȘn xwe bi cĂźh kir, Ă» dem hat ku em deveran ji bind berbi powerdns veguhezĂźnin Ă» binesaziyĂȘ veguherĂźnin serverĂȘn nĂ». 

Di nav tevgerĂȘ de, ji her tißtĂź pĂȘßkĂȘßkerĂȘnJi serverĂȘn ku di girĂȘdanĂȘn caching ĂȘn herĂȘmĂź de hatine destnüƟankirin, tenĂȘ yek ma - ya li navenda daneyan a St. Petersburg. Ev navenda daneyan di destpĂȘkĂȘ de ji bo me ne krĂźtĂźk hate ragihandin, lĂȘ ji nißkĂȘ ve bĂ» xalek tĂȘkçûnĂȘ ya yekane.
Di vĂȘ serdema veguhĂȘztinĂȘ de bĂ» ku kanala di navbera Moskow Ă» St. PetersburgĂȘ de qut bĂ». Em bi bandor pĂȘnc deqeyan bĂȘ DNS man Ă» dema ku em baß bĂ»n, em baß bĂ»n. mĂȘvandar pirsgirĂȘkan çareser kir. 

EncamĂȘn

Ger berĂȘ me di dema amadekirina xebatĂȘ de faktorĂȘn derveyĂź paßguh kir, naha ew jĂź di navnüƟa tißtĂȘn ku em ji bo wan amade dikin de cih digirin. Naha em hewl didin ku pĂȘ ewle bibin ku hemĂź pĂȘkhate n-2 veqetandĂź ne, Ă» di dema xebatĂȘ de em dikarin vĂȘ astĂȘ daxin n-1.

  • Dema ku plansaziyek çalakiyĂȘ amade dikin, xalĂȘn ku dibe ku karĂ»bar tĂȘk biçe nüƟan bikin, Ă» li ser senaryoyek bifikirin ku her tißt di pĂȘß de "ji xirab ber bi xirabtir" ve çû.
  • PĂȘßkĂȘßkerĂȘn DNS-ĂȘ yĂȘn hundurĂźn li ser erdnĂźgarĂź / navendĂȘn daneyĂȘ / racks / guheztin / tĂȘketinĂȘn cihĂȘreng belav bikin.
  • Li ser her serverĂȘ, serverek DNS-a caching-a herĂȘmĂź saz bikin, ku daxwazan ber bi serverĂȘn sereke yĂȘn DNS-ĂȘ veguhezĂźne, Ă» heke ew tune be, ew ĂȘ ji cache-ĂȘ bersivĂȘ bide. 

CihĂȘ çaremĂźn - "Paqijkirina tißtan li Nginx"

Rojek xweß, tĂźmĂȘ me biryar da ku "me tĂȘra vĂȘ yekĂȘ kiriye," Ă» pĂȘvajoya veavakirina mĂźhengĂȘn nginx dest pĂȘ kir. Armanca sereke ew e ku mĂźhengan bigihĂźne avahiyek Ăźntuitive. BerĂȘ, her tißt "dĂźrokĂź" bĂ» Ă» tu mantiqĂȘ nedigirt. Naha her server_name li pelek bi heman navĂź hate veguheztin Ă» hemĂź vesazkirin di peldankan de hatine belav kirin. Bi awayĂȘ, konfigurasyon 253949 rĂȘzan an 7836520 karakteran dihewĂźne Ă» hema hema 7 megabyte digire. Asta jorĂźn a strukturĂȘ: 

Struktura Nginx

├── access
│   ├── allow.list
...
│   └── whitelist.conf
├── geobase
│   ├── exclude.conf
...
│   └── geo_ip_to_region_id.conf
├── geodb
│   ├── GeoIP.dat
│   ├── GeoIP2-Country.mmdb
│   └── GeoLiteCity.dat
├── inc
│   ├── error.inc
...
│   └── proxy.inc
├── lists.d
│   ├── bot.conf
...
│   ├── dynamic
│   └── geo.conf
├── lua
│   ├── cookie.lua
│   ├── log
│   │   └── log.lua
│   ├── logics
│   │   ├── include.lua
│   │   ├── ...
│   │   └── utils.lua
│   └── prom
│       ├── stats.lua
│       └── stats_prometheus.lua
├── map.d
│   ├── access.conf
│   ├── .. 
│   └── zones.conf
├── nginx.conf
├── robots.txt
├── server.d
│   ├── cian.ru
│   │   ├── cian.ru.conf
│   │   ├── ...
│   │   └── my.cian.ru.conf
├── service.d
│   ├── ...
│   └── status.conf
└── upstream.d
    â”œâ”€â”€ cian-mcs.conf
    â”œâ”€â”€ ...
    â””── wafserver.conf

Ew pir çĂȘtir bĂ», lĂȘ di pĂȘvajoya nav Ă» belavkirina mĂźhengan de, hin ji wan xwedan dirĂȘjkirina xelet bĂ»n Ă» ne di nav rĂȘwerznameya *.conf de bĂ»n. WekĂź encamek, hin mĂȘvandar neçar bĂ»n Ă» 301 vegeriyan rĂ»pela sereke. Ji ber ku koda bersivĂȘ ne 5xx/4xx bĂ», ev yek tavilĂȘ nehate dĂźtin, lĂȘ tenĂȘ serĂȘ sibĂȘ. PißtĂź wĂȘ, me dest bi nivĂźsandina testan kir da ku hĂȘmanĂȘn binesaziyĂȘ kontrol bikin.

EncamĂȘn 

  • MĂźhengĂȘn xwe rast ava bikin (ne tenĂȘ nginx) Ă» di qonaxek destpĂȘkĂȘ ya projeyĂȘ de bi strukturĂȘ bifikirin. Bi vĂź rengĂź hĂ»n ĂȘ wan ji tĂźmĂȘ re bĂȘtir fĂȘm bikin, ku di encamĂȘ de dĂȘ TTM kĂȘm bike.
  • Ji bo hin pĂȘkhateyĂȘn binesaziyĂȘ ceribandinan binivĂźsin. MĂźnakĂź: kontrol bikin ku hemĂź navĂȘn server_yĂȘn sereke statĂ»ya rast + laßĂȘ bersivĂȘ didin. DĂȘ bes be ku tenĂȘ çend nivĂźsar li ber destan hebin ku fonksiyonĂȘn bingehĂźn ĂȘn pĂȘkhateyĂȘ kontrol dikin, da ku di demjimĂȘr 3 danĂȘ sibĂȘ de bi dilßikestĂź neyĂȘ bĂźra we, ya din çi hewce dike ku were kontrol kirin. 

CihĂȘ sĂȘyem - "Li Cassandra ji nißka ve ji cĂźh derket"

DaneyĂȘn bi domdarĂź mezin dibĂ»n, Ă» her tißt baß bĂ» heya wĂȘ gavĂȘ ku tamĂźrkirina cĂźhĂȘn dozĂȘn mezin di koma Cassandra de dest pĂȘ kir tĂȘk çû, ji ber ku berhevkirin nekarĂź li ser wan bixebite. 

Rojek bahoz, kom hema hema bĂ» kumek, bi navĂź:

  • ji sedĂź 20 ĂȘ cĂźhĂȘ gißtĂź yĂȘ di komĂȘ de mabĂ»;
  • Ne gengaz e ku meriv bi tevahĂź girĂȘkan lĂȘ zĂȘde bike, ji ber ku ji ber kĂȘmbĂ»na cĂźhĂȘ li ser dabeßan pißtĂź lĂȘ zĂȘdekirina girĂȘkekĂȘ paqijĂź derbas nabe;
  • berberĂź gav bi gav dadikeve ji ber ku komkirin nexebite; 
  • Kom di moda acĂźl de ye.

Top fakapov Cyan

Derketin - me 5 girĂȘkĂȘn din bĂȘyĂź paqijkirin lĂȘ zĂȘde kir, pißt re me dest bi birĂȘkĂ»pĂȘk derxistina wan ji komĂȘ kir Ă» ji nĂ» ve tĂȘkevin wan, mĂźna girĂȘkĂȘn vala yĂȘn ku ji cĂźhĂȘ xwe xilas bĂ»ne. Ji ya ku em dixwazin pir zĂȘdetir dem derbas bĂ». Metirsiya tunebĂ»na qismĂź an bi tevahĂź ya komĂȘ hebĂ». 

EncamĂȘn

  • Li ser hemĂź pĂȘßkĂȘßkerĂȘn cassandra, divĂȘ ji% 60-ĂȘ cĂźhĂȘ li ser her dabeßkirinĂȘ neyĂȘ dagĂźr kirin. 
  • PĂȘdivĂź ye ku ew ji% 50 cpu ne bĂȘtir werin barkirin.
  • PĂȘdivĂź ye ku hĂ»n plansaziya kapasĂźteyĂȘ ji bĂźr nekin Ă» pĂȘdivĂź ye ku hĂ»n li ser her pĂȘkhateyĂȘ, li gorĂź taybetmendiyĂȘn wĂȘ, bifikirin.
  • Di komĂȘ de girĂȘkĂȘn zĂȘdetir, baßtir. PĂȘßkĂȘßkerĂȘn ku hejmareke piçûk a daneyĂȘ vedihewĂźnin zĂ»tir tĂȘne barkirin, Ă» komek wusa ji nĂ» ve vejandina hĂȘsantir e. 

CihĂȘ duyemĂźn - "DaneyĂȘn ji hilanĂźna key-nirxa konsulĂȘ winda bĂ»ne"

Ji bo vedĂźtina karĂ»barĂȘ, em, mĂźna gelekan, konsul bikar tĂźnin. LĂȘ em nirxa wĂȘ ya sereke jĂź ji bo sĂȘwirana Ɵün-kesk a monolĂźtĂȘ bikar tĂźnin. Ew agahdariya li ser jorĂźnĂȘn çalak Ă» neçalak, yĂȘn ku di dema bicĂźhkirinĂȘ de cĂźh diguhezĂźnin hilĂźne. Ji bo vĂȘ armancĂȘ, karĂ»barek belavkirinĂȘ hate nivĂźsandin ku bi KV re tĂȘkilĂź danĂź. Di demekĂȘ de, daneyĂȘn KV winda bĂ»n. Ji bĂźranĂźnĂȘ hate vegerandin, lĂȘ bi çend xeletiyan. WekĂź encamek, di dema barkirinĂȘ de, barkirina li ser jorĂźn bi rengek neyeksan hate belav kirin, Ă» me ji ber barkirina paƟün li ser CPU-yĂȘ gelek xeletiyĂȘn 502 wergirtin. WekĂź encamek, me ji konsulĂȘ KV bar kir postgres, ji ku derĂȘ rakirina wan ĂȘdĂź ne ew qas hĂȘsan e.  

EncamĂȘn

  • KarĂ»barĂȘn bĂȘyĂź destĂ»rnameyĂȘ divĂȘ daneyĂȘn ku ji bo xebata malperĂȘ krĂźtĂźk nebin. MĂźnakĂź, heke di ES-ĂȘ de destĂ»rnameya we tune be, çĂȘtir e ku hĂ»n gihüƟtina di asta torĂȘ de ji her deverĂȘ ku ne hewce ye red bikin, tenĂȘ yĂȘn pĂȘwĂźst bihĂȘlin, Ă» her weha action.destructive_requires_name: rast jĂź bicĂźh bikin.
  • MekanĂźzmaya hilanĂźnĂȘ Ă» vegerandina xwe di pĂȘß de pratĂźk bikin. MĂźnakĂź, di pĂȘß de skrĂźptek çĂȘbikin (mĂźnakĂź, di python de) ku dikare pißtgir Ă» sererast bike.

CihĂȘ yekem - "Captain Unobvious" 

Di hin xalan de, me di rewßĂȘn ku di paßperdeya paƟün de zĂȘdetirĂź 10 pĂȘßkĂȘßker hebĂ»n, belavbĂ»nek neyeksan a barkirinĂȘ li ser jorĂźnĂȘn nginx dĂźt. Ji ber vĂȘ yekĂȘ ku dor-robin daxwaz ji 1-ĂȘ heya paƟün a paƟün bi rĂȘz ßandin, Ă» her nĂ»vekirina nginx ji nĂ» ve dest pĂȘ kir, jorĂźnĂȘn pĂȘƟün her gav ji yĂȘn din bĂȘtir daxwaz distĂźnin WekĂź encamek, ew hĂȘdĂźtir xebitĂźn Ă» hemĂź malper zirar dĂźt . Ev yek her ku diçe zĂȘde xuya dibĂ» her ku diçe rĂȘjeya trafĂźkĂȘ zĂȘde dibe. TenĂȘ nĂ»vekirina nginx-ĂȘ ji bo çalakkirina random nexebitĂź - pĂȘdivĂź ye ku em komek koda lua-ya ku di guhertoya 1.15-ĂȘ de derneketiye (di wĂȘ gavĂȘ de) ji nĂ» ve bikin. Diviya bĂ» ku me nginx 1.14.2-ya xwe patch bikira, pißtgirĂźya rasthatĂź tĂȘxe nav wĂȘ. VĂȘ yekĂȘ pirsgirĂȘk çareser kir. Ev xelet di kategoriya "Captain Non-Obviousness" de qezenc dike.

EncamĂȘn

VekolĂźna vĂȘ xeletiyĂȘ pir balkĂȘß Ă» heyecan bĂ»). 

  • ÇavdĂȘriya xwe organĂźze bikin da ku ew ji we re bibe alĂźkar ku hĂ»n zĂ» guheztinĂȘn weha bibĂźnin. MĂźnakĂź, hĂ»n dikarin ELK-ĂȘ bikar bĂźnin da ku rps li ser her paƟün a her jorĂźn bißopĂźnin, dema bersivdana wan ji hĂȘla nginx ve bißopĂźnin. Di vĂȘ rewßĂȘ de, ev alĂźkariya me kir ku pirsgirĂȘk nas bikin. 

WekĂź encamek, piraniya tĂȘkçûnan dikaribĂ» bi nĂȘzĂźkatiyek hĂ»rgulĂź ya ku we dikir ji holĂȘ rakira. DivĂȘ em her gav qanĂ»na Murphy bi bĂźr bĂźnin: TißtĂȘ ku dikare xelet bibe dĂȘ xelet bibe, Ă» li ser bingeha wĂȘ pĂȘkhateyan ava bikin. 

Source: www.habr.com

Ji bo malperĂȘn bi parastina DDoS, serverĂȘn VPS VDS mĂȘvandariya pĂȘbawer bikirin đŸ”„ Hostinga malperĂȘ ya pĂȘbawer bi parastina DDoS, serverĂȘn VPS VDS bikirin | ProHoster