ืœืžืขืœื” fakapov ืฆื™ืืŸ

ืœืžืขืœื” fakapov ืฆื™ืืŸ

ื˜ื•ื‘ ืœื›ื•ืœื! 

ืฉืžื™ ื ื™ืงื™ื˜ื”, ืื ื™ ืจืืฉ ื”ืฆื•ื•ืช ืฉืœ ืฆื•ื•ืช ื”ื”ื ื“ืกื” ืฉืœ ืกื™ืืŸ. ืื—ืช ืžื”ืื—ืจื™ื•ืช ืฉืœื™ ื‘ื—ื‘ืจื” ื”ื™ื ืœืฆืžืฆื ืืช ืžืกืคืจ ื”ืชืงืจื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœืชืฉืชื™ื•ืช ื‘ื™ื™ืฆื•ืจ ืœืืคืก.
ืžื” ืฉื ื“ื•ืŸ ืœื”ืœืŸ ื”ื‘ื™ื ืœื ื• ื›ืื‘ ืจื‘, ื•ืžื˜ืจืช ืžืืžืจ ื–ื” ื”ื™ื ืœืžื ื•ืข ืžืื ืฉื™ื ืื—ืจื™ื ืœื—ื–ื•ืจ ืขืœ ื”ื˜ืขื•ื™ื•ืช ืฉืœื ื• ืื• ืœืคื—ื•ืช ืœืžื–ืขืจ ืืช ื”ืฉืคืขืชืŸ. 

ืžื‘ื•ื

ืœืคื ื™ ื–ืžืŸ ืจื‘, ื›ืืฉืจ Cian ื›ืœืœื” ืžื•ื ื•ืœื™ื˜ื™ื, ื•ืขื“ื™ื™ืŸ ืœื ื”ื™ื• ืจืžื–ื™ื ืœืฉื™ืจื•ืชื™ ืžื™ืงืจื•, ืžื“ื“ื ื• ืืช ื”ื–ืžื™ื ื•ืช ืฉืœ ืžืฉืื‘ ืขืœ ื™ื“ื™ ื‘ื“ื™ืงืช 3-5 ืขืžื•ื“ื™ื. 

ื”ื ืขื•ื ื™ื - ื”ื›ืœ ื‘ืกื“ืจ, ืื ื”ื ืœื ืขื•ื ื™ื ื”ืจื‘ื” ื–ืžืŸ - ืขืจื ื™ื™ื. ื›ืžื” ื–ืžืŸ ื”ื ื”ื™ื• ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืžื—ื•ืฅ ืœืขื‘ื•ื“ื” ื›ื“ื™ ืฉื–ื” ื™ื™ื—ืฉื‘ ื›ืื™ืจื•ืข, ื”ื—ืœื™ื˜ื• ืื ืฉื™ื ื‘ืคื’ื™ืฉื•ืช. ืฆื•ื•ืช ืžื”ื ื“ืกื™ื ื”ื™ื” ืชืžื™ื“ ืžืขื•ืจื‘ ื‘ื—ืงื™ืจืช ื”ืื™ืจื•ืข. ื›ืฉื”ื—ืงื™ืจื” ื”ืกืชื™ื™ืžื” ื›ืชื‘ื• ื ืชื™ื—ื” ืฉืœืื—ืจ ื”ืžื•ื•ืช - ืžืขื™ืŸ ื“ื•"ื— ื‘ืžื™ื™ืœ ื‘ืคื•ืจืžื˜: ืžื” ืงืจื”, ื›ืžื” ื–ืžืŸ ื–ื” ื ืžืฉืš, ืžื” ืขืฉื™ื ื• ื‘ืื•ืชื• ืจื’ืข, ืžื” ื ืขืฉื” ื‘ืขืชื™ื“. 

ื”ืขืžื•ื“ื™ื ื”ืจืืฉื™ื™ื ืฉืœ ื”ืืชืจ ืื• ืื™ืš ืื ื—ื ื• ืžื‘ื™ื ื™ื ืฉื”ื’ืขื ื• ืœืชื—ืชื™ืช

 
ืขืœ ืžื ืช ืœื”ื‘ื™ืŸ ืื™ื›ืฉื”ื• ืืช ื”ืขื“ื™ืคื•ืช ืฉืœ ื”ืฉื’ื™ืื”, ื–ื™ื”ื™ื ื• ืืช ื“ืคื™ ื”ืืชืจ ื”ืงืจื™ื˜ื™ื™ื ื‘ื™ื•ืชืจ ืœืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ืขืกืงื™ืช. ื‘ืืžืฆืขื•ืชื, ืื ื• ืกื•ืคืจื™ื ืืช ืžืกืคืจ ื”ื‘ืงืฉื•ืช ื”ืžื•ืฆืœื—ื•ืช/ืœื ืžื•ืฆืœื—ื•ืช ื•ืคืกืงื™ ื”ื–ืžืŸ ื”ืงืฆื•ื‘ื™ื. ื›ืš ืื ื• ืžื•ื“ื“ื™ื ื–ืžืŸ ืคืขื•ืœื”. 

ื ื ื™ื— ืฉื’ื™ืœื™ื ื• ืฉื™ืฉ ืžืกืคืจ ืงื˜ืขื™ื ืกื•ืคืจ ื—ืฉื•ื‘ื™ื ื‘ืืชืจ ืฉืื—ืจืื™ื ืขืœ ื”ืฉื™ืจื•ืช ื”ืžืจื›ื–ื™ โ€“ ื—ื™ืคื•ืฉ ื•ืฉืœื™ื—ืช ืคืจืกื•ืžื•ืช. ืื ืžืกืคืจ ื”ื‘ืงืฉื•ืช ืฉื ื›ืฉืœื• ืขื•ืœื” ืขืœ 1%, ืžื“ื•ื‘ืจ ื‘ืื™ืจื•ืข ืงืจื™ื˜ื™. ืื ืชื•ืš 15 ื“ืงื•ืช ื‘ืžื”ืœืš ื”ืคืจื™ื™ื ื˜ื™ื™ื ืฉื™ืขื•ืจ ื”ืฉื’ื™ืื•ืช ืขื•ืœื” ืขืœ 0,1%, ืื– ื’ื ื–ื” ื ื—ืฉื‘ ืœืื™ืจื•ืข ืงืจื™ื˜ื™. ืงืจื™ื˜ืจื™ื•ื ื™ื ืืœื” ืžื›ืกื™ื ืืช ืจื•ื‘ ื”ืชืงืจื™ื•ืช; ื”ืฉืืจ ื”ื ืžื—ื•ืฅ ืœืชื—ื•ื ื”ืžืืžืจ ื”ื–ื”.

ืœืžืขืœื” fakapov ืฆื™ืืŸ

ื”ืชืงืจื™ื•ืช ื”ื˜ื•ื‘ื•ืช ื‘ื™ื•ืชืจ Cyan

ืื–, ื‘ื”ื—ืœื˜ ืœืžื“ื ื• ืœืงื‘ื•ืข ืืช ื”ืขื•ื‘ื“ื” ืฉืงืจื” ืชืงืจื™ืช. 

ื›ืขืช ื›ืœ ืื™ืจื•ืข ืžืชื•ืืจ ื‘ืคื™ืจื•ื˜ ื•ืžืฉืชืงืฃ ื‘ืืคื•ืก ื’'ื™ืจื”. ืื’ื‘: ื‘ืฉื‘ื™ืœ ื–ื” ื”ืชื—ืœื ื• ืคืจื•ื™ืงื˜ ื ืคืจื“, ืฉื ืงืจื FAIL - ืืคืฉืจ ืœื™ืฆื•ืจ ื‘ื• ืจืง ืืคื•ืกื™ื. 

ืื ืืชื” ืื•ืกืฃ ืืช ื›ืœ ื”ื›ืฉืœื™ื ื‘ืžื”ืœืš ื”ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช, ื”ืžื ื”ื™ื’ื™ื ื”ื: 

  • ืชืงืจื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœ-mssql;
  • ืชืงืจื™ื•ืช ืฉื ื’ืจืžื• ืขืœ ื™ื“ื™ ื’ื•ืจืžื™ื ื—ื™ืฆื•ื ื™ื™ื;
  • ืฉื’ื™ืื•ืช ืื“ืžื™ืŸ.

ื‘ื•ืื• ื ืกืชื›ืœ ื‘ื™ืชืจ ืคื™ืจื•ื˜ ืขืœ ื”ื˜ืขื•ื™ื•ืช ืฉืœ ืžื ื”ืœื™ื, ื›ืžื• ื’ื ื›ืžื” ื›ืฉืœื™ื ืžืขื ื™ื™ื ื™ื ืื—ืจื™ื.

ืžืงื•ื ื—ืžื™ืฉื™ - "ืœืขืฉื•ืช ืกื“ืจ ื‘-DNS"

ื–ื” ื”ื™ื” ื™ื•ื ืฉืœื™ืฉื™ ืกื•ืขืจ. ื”ื—ืœื˜ื ื• ืœื”ื—ื–ื™ืจ ืืช ื”ืกื“ืจ ืขืœ ื›ื ื• ื‘ืืฉื›ื•ืœ ื”-DNS. 

ืจืฆื™ืชื™ ืœื”ืขื‘ื™ืจ ืฉืจืชื™ DNS ืคื ื™ืžื™ื™ื ืž-bind ืœ-powerdns, ืœื”ืงืฆื•ืช ืœื–ื” ืฉืจืชื™ื ื ืคืจื“ื™ื ืœื—ืœื•ื˜ื™ืŸ, ืฉื‘ื”ื ืื™ืŸ ืฉื•ื ื“ื‘ืจ ืžืœื‘ื“ DNS. 

ื”ืฆื‘ื ื• ืฉืจืช DNS ืื—ื“ ื‘ื›ืœ ืžื™ืงื•ื ืฉืœ ื”-DCs ืฉืœื ื•, ื•ื”ื’ื™ืข ื”ืจื’ืข ืœื”ืขื‘ื™ืจ ืื–ื•ืจื™ื ืž-bind ืœ-powerdns ื•ืœื”ืขื‘ื™ืจ ืืช ื”ืชืฉืชื™ืช ืœืฉืจืชื™ื ื—ื“ืฉื™ื. 

ื‘ืขื™ืฆื•ืžื• ืฉืœ ื”ืžื”ืœืš, ืžื‘ื™ืŸ ื›ืœ ื”ืฉืจืชื™ื ืฉืฆื•ื™ื ื• ื‘-caching local binds ื‘ื›ืœ ื”ืฉืจืชื™ื, ื ื•ืชืจ ืจืง ืื—ื“, ืฉื”ื™ื” ื‘ืžืจื›ื– ื”ื ืชื•ื ื™ื ื‘ืกื ื˜ ืคื˜ืจืกื‘ื•ืจื’. ื”-DC ื”ื–ื” ื”ื•ื›ืจื– ื‘ืชื—ื™ืœื” ื›ืœื ืงืจื™ื˜ื™ ืขื‘ื•ืจื ื•, ืื‘ืœ ืคืชืื•ื ื”ืคืš ืœื ืงื•ื“ืช ื›ื™ืฉืœื•ืŸ ืื—ืช.
ื‘ืชืงื•ืคื” ื–ื• ืฉืœ ืจื™ืœื•ืงื™ื™ืฉืŸ ื ืคืœื” ื”ืชืขืœื” ื‘ื™ืŸ ืžื•ืกืงื‘ื” ืœืกื ื˜ ืคื˜ืจื‘ื•ืจื’. ืœืžืขืฉื” ื ืฉืืจื ื• ืœืœื DNS ืœืžืฉืš ื—ืžืฉ ื“ืงื•ืช ื•ืงืžื ื• ื—ื–ืจื” ื›ืฉื”ืžืืจื— ืชื™ืงืŸ ืืช ื”ื‘ืขื™ื”. 

ืžืกืงื ื•ืช:

ืื ืงื•ื“ื ืœื›ืŸ ื”ื–ื ื—ื ื• ื’ื•ืจืžื™ื ื—ื™ืฆื•ื ื™ื™ื ื‘ืžื”ืœืš ื”ื”ื›ื ื” ืœืขื‘ื•ื“ื”, ื›ืขืช ื”ื ื ื›ืœืœื™ื ื’ื ื‘ืจืฉื™ืžื” ืฉืœ ืžื” ืฉืื ื• ืžืชื›ื•ื ื ื™ื ืืœื™ื•. ื•ืขื›ืฉื™ื• ืื ื—ื ื• ืฉื•ืืคื™ื ืœื”ื‘ื˜ื™ื— ืฉื›ืœ ื”ืจื›ื™ื‘ื™ื ื™ื”ื™ื• ืฉืžื•ืจื™ื n-2, ื•ื‘ืžื”ืœืš ื”ืขื‘ื•ื“ื” ื ื•ื›ืœ ืœื”ื•ืจื™ื“ ืืช ื”ืจืžื” ื”ื–ื• ืœ-n-1.

  • ื‘ืขืช ืขืจื™ื›ืช ืชื•ื›ื ื™ืช ืคืขื•ืœื”, ืกืžืŸ ืืช ื”ื ืงื•ื“ื•ืช ืฉื‘ื”ืŸ ื”ืฉื™ืจื•ืช ืขืœื•ืœ ืœื”ื™ื›ืฉืœ, ื•ื—ืฉื‘ื• ืžืจืืฉ ืขืœ ืชืจื—ื™ืฉ ืฉื‘ื• ื”ื›ืœ ื”ืœืš "ืžืจืข ืœืจืข".
  • ื”ืคืฆืช ืฉืจืชื™ DNS ืคื ื™ืžื™ื™ื ืขืœ ืคื ื™ ืžื™ืงื•ืžื™ื ื’ื™ืื•ื’ืจืคื™ื™ื / ืžืจื›ื–ื™ ื ืชื•ื ื™ื / ืžืชืœื™ื / ืžืชื’ื™ื / ื›ื ื™ืกื•ืช ืฉื•ื ื™ื.
  • ื‘ื›ืœ ืฉืจืช, ื”ืชืงืŸ ืฉืจืช DNS ืœืื—ืกื•ืŸ ื‘ืžื˜ืžื•ืŸ ืžืงื•ืžื™, ื”ืžืคื ื” ื‘ืงืฉื•ืช ืœืฉืจืชื™ ื”-DNS ื”ืจืืฉื™ื™ื, ื•ืื ื”ื•ื ืœื ื–ืžื™ืŸ, ื”ื•ื ื™ื’ื™ื‘ ืžื”ืžื˜ืžื•ืŸ. 

ืžืงื•ื ืจื‘ื™ืขื™ - "ืœืขืฉื•ืช ืกื“ืจ ื‘-Nginx"

ื™ื•ื ื‘ื”ื™ืจ ืื—ื“, ื”ืฆื•ื•ืช ืฉืœื ื• ื”ื—ืœื™ื˜ ืฉ"ื“ื™ ื”ื™ื” ืœื ื• ืžื–ื”", ื•ื”ืชื”ืœื™ืš ืฉืœ ืขื™ื‘ื•ื“ ืชืฆื•ืจื•ืช nginx ื”ื—ืœ ืžื—ื“ืฉ. ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ื”ื™ื ืœื”ื‘ื™ื ืืช ื”ื”ื’ื“ืจื•ืช ืœืžื‘ื ื” ืื™ื ื˜ื•ืื™ื˜ื™ื‘ื™. ื‘ืขื‘ืจ ื”ื›ืœ ื”ื™ื” "ืžื‘ื•ืกืก ื”ื™ืกื˜ื•ืจื™ืช" ื•ืœื ื ืฉื ืฉื•ื ื”ื™ื’ื™ื•ืŸ. ื›ืขืช ื›ืœ server_name ื”ื•ืขื‘ืจ ืœืงื•ื‘ืฅ ื‘ืื•ืชื• ืฉื ื•ื›ืœ ื”ื”ื’ื“ืจื•ืช ื”ื•ืคืฆื• ืœืชื™ืงื™ื•ืช. ืื’ื‘, ื”ืชืฆื•ืจื” ืžื›ื™ืœื” 253949 ืฉื•ืจื•ืช ืื• 7836520 ืชื•ื•ื™ื ื•ืชื•ืคืกืช ื›ืžืขื˜ 7 ืžื’ื” ื‘ื™ื™ื˜. ืจืžื” ืขืœื™ื•ื ื” ืฉืœ ืžื‘ื ื”: 

ืžื‘ื ื” 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

ื–ื” ื ืขืฉื” ื”ืจื‘ื” ื™ื•ืชืจ ื˜ื•ื‘, ืื‘ืœ ื‘ืชื”ืœื™ืš ืฉืœ ืฉื™ื ื•ื™ ืฉืžื•ืช ื•ื”ืคืฆืช ื”ื’ื“ืจื•ืช, ืœื—ืœืง ืžื”ืŸ ื”ื™ื™ืชื” ื”ืจื—ื‘ื” ืฉื’ื•ื™ื” ื•ืœื ื ื›ืœืœื• ื‘ื”ื ื—ื™ื™ืช include *.conf. ื›ืชื•ืฆืื” ืžื›ืš, ื—ืœืง ืžื”ืžืืจื—ื™ื ื”ืคื›ื• ืœืœื ื–ืžื™ื ื™ื ื•ื”ื—ื–ื™ืจื• 301 ืœืขืžื•ื“ ื”ืจืืฉื™. ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉืงื•ื“ ื”ืชื’ื•ื‘ื” ืœื ื”ื™ื” 5xx/4xx, ืœื ื”ื‘ื—ื™ื ื• ื‘ื›ืš ืžื™ื“, ืืœื ืจืง ื‘ื‘ื•ืงืจ. ืœืื—ืจ ืžื›ืŸ, ื”ืชื—ืœื ื• ืœื›ืชื•ื‘ ืžื‘ื—ื ื™ื ืœื‘ื“ื™ืงืช ืจื›ื™ื‘ื™ ืชืฉืชื™ืช.

ืžืกืงื ื•ืช: 

  • ืžื‘ื ื” ืืช ื”ื”ื’ื“ืจื•ืช ืฉืœืš ื‘ืฆื•ืจื” ื ื›ื•ื ื” (ืœื ืจืง nginx) ื•ื—ืฉื•ื‘ ืขืœ ื”ืžื‘ื ื” ื‘ืฉืœื‘ ืžื•ืงื“ื ืฉืœ ื”ืคืจื•ื™ืงื˜. ื›ืš ืชื”ืคื›ื• ืื•ืชื ืœืžื•ื‘ื ื™ื ื™ื•ืชืจ ืœืฆื•ื•ืช, ืžื” ืฉื‘ืชื•ืจื• ื™ืงื˜ื™ืŸ ืืช ื”-TTM.
  • ื›ืชื•ื‘ ืžื‘ื—ื ื™ื ืขื‘ื•ืจ ื—ืœืง ืžืžืจื›ื™ื‘ื™ ื”ืชืฉืชื™ืช. ืœื“ื•ื’ืžื”: ื‘ื“ื™ืงื” ืฉื›ืœ ืฉืžื•ืช ื”ืฉืจืชื™ื ื”ืžืคืชื—ื™ื ื ื•ืชื ื™ื ืืช ื”ืกื˜ื˜ื•ืก ื”ื ื›ื•ืŸ + ื’ื•ืฃ ื”ืชื’ื•ื‘ื”. ื–ื” ื™ื”ื™ื” ืžืกืคื™ืง ืจืง ื›ืžื” ืกืงืจื™ืคื˜ื™ื ื‘ื”ื™ืฉื’ ื™ื“ ืฉื‘ื•ื“ืงื™ื ืืช ื”ืคื•ื ืงืฆื™ื•ืช ื”ื‘ืกื™ืกื™ื•ืช ืฉืœ ื”ืจื›ื™ื‘, ื›ื“ื™ ืœื ืœื–ื›ื•ืจ ื‘ื˜ื™ืจื•ืฃ ื‘-3 ืœืคื ื•ืช ื‘ื•ืงืจ ืžื” ืขื•ื“ ืฆืจื™ืš ืœื‘ื“ื•ืง. 

ืžืงื•ื ืฉืœื™ืฉื™ - "ืคืชืื•ื ื ื’ืžืจ ื”ืžืงื•ื ื‘ืงืกื ื“ืจื”"

ื”ื ืชื•ื ื™ื ื’ื“ืœื• ื‘ื”ืชืžื“ื”, ื•ื”ื›ืœ ื”ื™ื” ื‘ืกื“ืจ ืขื“ ืœืจื’ืข ืฉื‘ื• ื”ืชื™ืงื•ืŸ ืฉืœ ื—ืœืœื™ ืžืืจื–ื™ื ื’ื“ื•ืœื™ื ื”ื—ืœ ืœื”ื™ื›ืฉืœ ื‘ืืฉื›ื•ืœ ืงืกื ื“ืจื”, ื›ื™ ื”ื“ื—ื™ืกื” ืœื ื™ื›ืœื” ืœืขื‘ื•ื“ ืขืœื™ื”ื. 

ื™ื•ื ืกื•ืขืจ ืื—ื“, ื”ืืฉื›ื•ืœ ื›ืžืขื˜ ื”ืคืš ืœื“ืœืขืช, ื›ืœื•ืžืจ:

  • ื ื•ืชืจื• ื›-20% ืžื›ืœืœ ื”ื—ืœืœ ื‘ืืฉื›ื•ืœ;
  • ืื™ ืืคืฉืจ ืœื”ื•ืกื™ืฃ ืฆืžืชื™ื ื‘ืื•ืคืŸ ืžืœื, ืžื›ื™ื•ื•ืŸ ืฉื”ื ื™ืงื•ื™ ืœื ืขื•ื‘ืจ ืœืื—ืจ ื”ื•ืกืคืช ืฆื•ืžืช ื‘ื’ืœืœ ื—ื•ืกืจ ืžืงื•ื ื‘ืžื—ื™ืฆื•ืช;
  • ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ื™ื•ืจื“ืช ื‘ื”ื“ืจื’ื” ืžื›ื™ื•ื•ืŸ ืฉื”ื“ื—ื™ืกื” ืื™ื ื” ืคื•ืขืœืช; 
  • ื”ืืฉื›ื•ืœ ื ืžืฆื ื‘ืžืฆื‘ ื—ื™ืจื•ื.

ืœืžืขืœื” fakapov ืฆื™ืืŸ

ื™ืฆื™ืื” - ื”ื•ืกืคื ื• ืขื•ื“ 5 ืฆืžืชื™ื ืœืœื ื ื™ืงื•ื™ ื•ืœืื—ืจ ืžื›ืŸ ื”ืชื—ืœื ื• ืœื”ืกื™ืจ ืื•ืชื ื‘ืื•ืคืŸ ืฉื™ื˜ืชื™ ืžื”ืืฉื›ื•ืœ ื•ืœื”ื™ื›ื ืก ืืœื™ื”ื ืžื—ื“ืฉ, ื›ืžื• ืฆืžืชื™ื ืจื™ืงื™ื ืฉื ื’ืžืจ ืœื”ื ื”ืžืงื•ื. ื”ื•ืฉืงืข ื”ืจื‘ื” ื™ื•ืชืจ ื–ืžืŸ ืžืžื” ืฉื”ื™ื™ื ื• ืจื•ืฆื™ื. ื”ื™ื” ืกื™ื›ื•ืŸ ืœืื™ ื–ืžื™ื ื•ืช ื—ืœืงื™ืช ืื• ืžืœืื” ืฉืœ ื”ืืฉื›ื•ืœ. 

ืžืกืงื ื•ืช:

  • ื‘ื›ืœ ืฉืจืชื™ ืงืกื ื“ืจื”, ืœื ืฆืจื™ืš ืœืชืคื•ืก ื™ื•ืชืจ ืž-60% ืžื”ืฉื˜ื— ื‘ื›ืœ ืžื—ื™ืฆื”. 
  • ื”ื ืฆืจื™ื›ื™ื ืœื”ื™ื˜ืขืŸ ื‘-50% ืžืขื‘ื“ ืœื ื™ื•ืชืจ.
  • ืืœ ืชืฉื›ื— ืืช ืชื›ื ื•ืŸ ื”ืงื™ื‘ื•ืœืช ื•ืฆืจื™ืš ืœื—ืฉื•ื‘ ืขืœ ื–ื” ืขื‘ื•ืจ ื›ืœ ืจื›ื™ื‘, ื‘ื”ืชื‘ืกืก ืขืœ ื”ืกืคืฆื™ืคื™ื•ืช ืฉืœื•.
  • ื›ื›ืœ ืฉื™ื•ืชืจ ืฆืžืชื™ื ื‘ืืฉื›ื•ืœ, ื›ืš ื™ื™ื˜ื‘. ืฉืจืชื™ื ื”ืžื›ื™ืœื™ื ื›ืžื•ืช ืงื˜ื ื” ืฉืœ ื ืชื•ื ื™ื ืขื•ืžืกื™ื ืžื”ืจ ื™ื•ืชืจ, ื•ืงืœ ื™ื•ืชืจ ืœื”ื—ื™ื•ืช ืืฉื›ื•ืœ ื›ื–ื”. 

ืžืงื•ื ืฉื ื™ - "ื”ื ืชื•ื ื™ื ื ืขืœืžื• ืžืื—ืกื•ืŸ ืขืจืš ืžืคืชื—-ืขืจืš ืฉืœ ืงื•ื ืกื•ืœ"

ืœื’ื™ืœื•ื™ ืฉื™ืจื•ืช, ืื ื•, ื›ืžื• ืจื‘ื™ื, ืžืฉืชืžืฉื™ื ื‘ืงื•ื ืกื•ืœ. ืื‘ืœ ืื ื• ืžืฉืชืžืฉื™ื ื’ื ื‘ืขืจืš ื”ืžืคืชื— ืฉืœื• ืœืคืจื™ืกื” ื›ื—ื•ืœื”-ื™ืจื•ืง ืฉืœ ื”ืžื•ื ื•ืœื™ื˜. ื”ื•ื ืžืื—ืกืŸ ืžื™ื“ืข ืขืœ ื–ืจืžื™ื ืคืขื™ืœื™ื ื•ืœื ืคืขื™ืœื™ื, ืืฉืจ ืžืฉื ื™ื ืžืงื•ื ื‘ืžื”ืœืš ื”ืคืจื™ืกื”. ืœืฆื•ืจืš ื›ืš ื ื›ืชื‘ ืฉื™ืจื•ืช ืคืจื™ืกื” ืฉืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื KV. ื‘ืฉืœื‘ ืžืกื•ื™ื, ื”ื ืชื•ื ื™ื ืž-KV ื ืขืœืžื•. ืฉื•ื—ื–ืจ ืžื”ื–ื™ื›ืจื•ืŸ, ืืš ืขื ืžืกืคืจ ืฉื’ื™ืื•ืช. ื›ืชื•ืฆืื” ืžื›ืš, ื‘ืžื”ืœืš ื”ื”ืขืœืื”, ื”ืขื•ืžืก ืขืœ ื”ื–ืจืžื™ื ื”ืชื—ืœืง ื‘ืฆื•ืจื” ืœื ืื—ื™ื“ื”, ื•ืงื™ื‘ืœื ื• ื”ืจื‘ื” ืฉื’ื™ืื•ืช 502 ืขืงื‘ ืขื•ืžืก ื™ืชืจ ืขืœ ื”-CPU. ื›ืชื•ืฆืื” ืžื›ืš, ืขื‘ืจื ื• ืžื”ืงื•ื ืกื•ืœ KV ืœ-postgres, ืžืฉื ื›ื‘ืจ ืœื ื›ืœ ื›ืš ืงืœ ืœื”ืกื™ืจ ืื•ืชื.  

ืžืกืงื ื•ืช:

  • ืฉื™ืจื•ืชื™ื ืœืœื ื›ืœ ืื™ืฉื•ืจ ืื™ื ื ืืžื•ืจื™ื ืœื”ื›ื™ืœ ื ืชื•ื ื™ื ืงืจื™ื˜ื™ื™ื ืœืชืคืขื•ืœ ื”ืืชืจ. ืœื“ื•ื’ืžื”, ืื ืื™ืŸ ืœืš ื”ืจืฉืื” ื‘-ES, ืขื“ื™ืฃ ืœืฉืœื•ืœ ื’ื™ืฉื” ื‘ืจืžืช ื”ืจืฉืช ืžื›ืœ ืžืงื•ื ื‘ื• ืื™ืŸ ืฆื•ืจืš, ืœื”ืฉืื™ืจ ืจืง ืืช ื”ื ื—ื•ืฆื™ื, ื•ื’ื ืœื”ื’ื“ื™ืจ action.destructive_requires_name: true.
  • ืชืจื’ืœ ืืช ืžื ื’ื ื•ืŸ ื”ื’ื™ื‘ื•ื™ ื•ื”ืฉื—ื–ื•ืจ ืฉืœืš ืžืจืืฉ. ืœื“ื•ื’ืžื”, ืฆื•ืจ ืกืงืจื™ืคื˜ ืžืจืืฉ (ืœืžืฉืœ ื‘-Python) ืฉื™ื›ื•ืœ ืœื’ื‘ื•ืช ื•ืœืฉื—ื–ืจ.

ืžืงื•ื ืจืืฉื•ืŸ - "ืงืคื˜ืŸ ืœื ื‘ืจื•ืจ" 

ื‘ืฉืœื‘ ืžืกื•ื™ื, ืฉืžื ื• ืœื‘ ืœื”ืชืคืœื’ื•ืช ืœื ืื—ื™ื“ื” ืฉืœ ืขื•ืžืก ืขืœ nginx upstream ื‘ืžืงืจื™ื ืฉื‘ื”ื ื”ื™ื• 10+ ืฉืจืชื™ื ื‘-backend. ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉ-round-robin ืฉืœื— ื‘ืงืฉื•ืช ืžื”-1 ืขื“ ื”ืื—ืจื•ืŸ ื‘ืžืขืœื” ื”ื–ืจื ืœืคื™ ื”ืกื“ืจ, ื•ื›ืœ ื˜ืขื™ื ื” ืžื—ื“ืฉ ืฉืœ nginx ื”ืชื—ื™ืœื” ืžื—ื“ืฉ, ื”-upstreams ื”ืจืืฉื•ื ื™ื ืชืžื™ื“ ืงื™ื‘ืœื• ื™ื•ืชืจ ื‘ืงืฉื•ืช ืžื”ืฉืืจ, ื›ืชื•ืฆืื” ืžื›ืš, ื”ื ืขื‘ื“ื• ืœืื˜ ื™ื•ืชืจ ื•ื”ืืชืจ ื›ื•ืœื• ืกื‘ืœ. ื–ื” ื ืขืฉื” ื‘ื•ืœื˜ ื™ื•ืชืจ ื•ื™ื•ืชืจ ื›ื›ืœ ืฉื›ืžื•ืช ื”ืชื ื•ืขื” ื’ื“ืœื”. ืคืฉื•ื˜ ืœืขื“ื›ืŸ ืืช nginx ื›ื“ื™ ืœืืคืฉืจ ืืงืจืื™ ืœื ืขื‘ื“ - ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืขืฉื•ืช ืžื—ื“ืฉ ื—ื‘ื•ืจื” ืฉืœ ืงื•ื“ lua ืฉืœื ื”ืžืจื™ื ื‘ื’ืจืกื” 1.15 (ื‘ืื•ืชื• ืจื’ืข). ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœืชืงืŸ ืืช nginx 1.14.2 ืฉืœื ื•, ื•ืœื”ื›ื ื™ืก ืœืชื•ื›ื• ืชืžื™ื›ื” ืืงืจืื™ืช. ื–ื” ืคืชืจ ืืช ื”ื‘ืขื™ื”. ื”ื‘ืื’ ื”ื–ื” ื–ื•ื›ื” ื‘ืงื˜ื’ื•ืจื™ื™ืช "ืงืคื˜ืŸ ืื™-ืžื•ื‘ืŸ ืžืืœื™ื•".

ืžืกืงื ื•ืช:

ื–ื” ื”ื™ื” ืžืื•ื“ ืžืขื ื™ื™ืŸ ื•ืžืจื’ืฉ ืœื—ืงื•ืจ ืืช ื”ื‘ืื’ ื”ื–ื”). 

  • ืืจื’ืŸ ืืช ื”ื ื™ื˜ื•ืจ ืฉืœืš ื›ืš ืฉื™ืขื–ื•ืจ ืœืš ืœืžืฆื•ื ืชื ื•ื“ื•ืช ื›ืืœื” ื‘ืžื”ื™ืจื•ืช. ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-ELK ื›ื“ื™ ืœื ื˜ืจ rps ื‘ื›ืœ ืงืฆื” ืื—ื•ืจื™ ืฉืœ ื›ืœ ื‘ืžืขืœื” ื”ื–ืจื, ืœื ื˜ืจ ืืช ื–ืžืŸ ื”ืชื’ื•ื‘ื” ืฉืœื”ื ืžื ืงื•ื“ืช ื”ืžื‘ื˜ ืฉืœ nginx. ื‘ืžืงืจื” ื–ื”, ื–ื” ืขื–ืจ ืœื ื• ืœื–ื”ื•ืช ืืช ื”ื‘ืขื™ื”. 

ื›ืชื•ืฆืื” ืžื›ืš, ื ื™ืชืŸ ื”ื™ื” ืœืžื ื•ืข ืืช ืจื•ื‘ ื”ื›ื™ืฉืœื•ื ื•ืช ืขื ื’ื™ืฉื” ืงืคื“ื ื™ืช ื™ื•ืชืจ ืœืžื” ืฉืืชื” ืขื•ืฉื”. ืขืœื™ื ื• ืœื–ื›ื•ืจ ืชืžื™ื“ ืืช ื—ื•ืง ืžืจืคื™: ื›ืœ ื“ื‘ืจ ืฉื™ื›ื•ืœ ืœื”ืฉืชื‘ืฉ ื™ืฉืชื‘ืฉ, ื•ืœื‘ื ื•ืช ืจื›ื™ื‘ื™ื ืขืœ ืกืžืš ื–ื”. 

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”