๋ชจ๋ ์ข์!
์ ์ด๋ฆ์ Nikita์ด๊ณ Cian ์์ง๋์ด๋ง ํ์ ํ ๋ฆฌ๋์
๋๋ค. ํ์ฌ์์ ์ ๊ฐ ๋งก์ ์ฑ
์ ์ค ํ๋๋ ์์ฐ ์ธํ๋ผ์ ๊ด๋ จ๋ ์ฌ๊ณ ์๋ฅผ XNUMX์ผ๋ก ์ค์ด๋ ๊ฒ์
๋๋ค.
์๋์์ ๋
ผ์ํ ๋ด์ฉ์ ์ฐ๋ฆฌ์๊ฒ ๋ง์ ๊ณ ํต์ ๊ฐ์ ธ์์ผ๋ฉฐ, ์ด ๊ธ์ ๋ชฉ์ ์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฐ๋ฆฌ์ ์ค์๋ฅผ ๋ฐ๋ณตํ์ง ์๋๋ก ๋ฐฉ์งํ๊ฑฐ๋ ์ต์ํ ๊ทธ ์ํฅ์ ์ต์ํํ๋ ๊ฒ์
๋๋ค.
์๋ฌธ
์ค๋ ์ , Cian์ด ๋จ์ผ์ฒด๋ก ๊ตฌ์ฑ๋์ด ์์๊ณ ์์ง ๋ง์ดํฌ๋ก์๋น์ค์ ๋ํ ํํธ๊ฐ ์์์ ๋ ์ฐ๋ฆฌ๋ 3~5ํ์ด์ง๋ฅผ ํ์ธํ์ฌ ๋ฆฌ์์ค์ ๊ฐ์ฉ์ฑ์ ์ธก์ ํ์ต๋๋ค.
๊ทธ๋ค์ ๋๋ตํฉ๋๋ค โ ์ค๋ซ๋์ ๋๋ตํ์ง ์์ผ๋ฉด ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ต๋๋ค โ ๊ฒฝ๊ณ ํฉ๋๋ค. ์ฌ๊ฑด์ผ๋ก ๊ฐ์ฃผ๋๊ธฐ ์ํด ์ผ๋ง๋ ์ค๋ซ๋์ ์ง์ฅ์ ๋ ๋์ผ ํ๋์ง๋ ํ์์์ ์ฌ๋๋ค์ด ๊ฒฐ์ ํ์ต๋๋ค. ์ฌ๊ณ ์กฐ์ฌ์๋ ํญ์ ์์ง๋์ด ํ์ด ์ฐธ์ฌํ์ต๋๋ค. ์กฐ์ฌ๊ฐ ์๋ฃ๋๋ฉด ๊ทธ๋ค์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง, ์ผ๋ง๋ ์ค๋ ์ง์๋์๋์ง, ํ์ฌ ๋ฌด์์ ํ๋์ง, ์์ผ๋ก ๋ฌด์์ ํ ๊ฒ์ธ์ง ๋ฑ์ ํ์์ผ๋ก ์ด๋ฉ์ผ์ ํตํด ์ผ์ข ์ ์ฌํ ๋ณด๊ณ ์๋ฅผ ์์ฑํ์ต๋๋ค.
์ฌ์ดํธ์ ๊ธฐ๋ณธ ํ์ด์ง ๋๋ ์ฐ๋ฆฌ๊ฐ ๋ฐ๋ฅ์ ๋๋ฌํ์์ ์ดํดํ๋ ๋ฐฉ๋ฒ
์ค๋ฅ์ ์ฐ์ ์์๋ฅผ ์ด๋ป๊ฒ๋ ์ดํดํ๊ธฐ ์ํด ๋น์ฆ๋์ค ๊ธฐ๋ฅ์ ๊ฐ์ฅ ์ค์ํ ์ฌ์ดํธ ํ์ด์ง๋ฅผ ์๋ณํ์ต๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๊ณต/์คํจํ ์์ฒญ ์์ ์๊ฐ ์ด๊ณผ ์๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด๊ฒ์ด ๊ฐ๋ ์๊ฐ์ ์ธก์ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
์ฌ์ดํธ์ ์ฃผ์ ์๋น์ค(๊ด๊ณ ๊ฒ์ ๋ฐ ์ ์ถ)๋ฅผ ๋ด๋นํ๋ ๋งค์ฐ ์ค์ํ ์น์ ์ด ์ฌ๋ฌ ๊ฐ ์๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์คํจํ ์์ฒญ ์๊ฐ 1%๋ฅผ ์ด๊ณผํ๋ฉด ์ด๋ ์ฌ๊ฐํ ์ฌ๊ณ ์ ๋๋ค. ํ๋ผ์ํ์ ์ค 15๋ถ ์ด๋ด ์ค๋ฅ์จ์ด 0,1%๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ์๋ ์ค๋์ฌํด๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ด๋ฌํ ๊ธฐ์ค์ ๋๋ถ๋ถ์ ์ฌ๊ฑด์ ์ ์ฉ๋๋ฉฐ ๋๋จธ์ง๋ ์ด ๋ฌธ์์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค.
์ต๊ณ ์ต๊ณ ์ ์ฌ๊ฑด Cian
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ฌ๊ฑด์ด ์ผ์ด๋ฌ๋ค๋ ์ฌ์ค์ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ํ์คํ ๋ฐฐ์ ์ต๋๋ค.
์ด์ ๋ชจ๋ ์ฌ๊ฑด์ด ์์ธํ ์ค๋ช ๋๊ณ Jira ์์ฌ์์ ๋ฐ์๋ฉ๋๋ค. ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ด๋ฅผ ์ํด ์ฐ๋ฆฌ๋ FAIL์ด๋ผ๋ ๋ณ๋์ ํ๋ก์ ํธ๋ฅผ ์์ํ์ต๋๋ค. ์ด ํ๋ก์ ํธ์์๋ ์ํฝ๋ง ๋ง๋ค ์ ์์ต๋๋ค.
์ง๋ ๋ช ๋ ๋์์ ๋ชจ๋ ์คํจ๋ฅผ ์์งํ๋ฉด ๋ฆฌ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- mssql ๊ด๋ จ ์ฌ๊ฑด;
- ์ธ๋ถ ์์ธ์ผ๋ก ์ธํ ์ฌ๊ณ ;
- ๊ด๋ฆฌ์ ์ค๋ฅ.
๊ด๋ฆฌ์์ ์ค์์ ๊ธฐํ ํฅ๋ฏธ๋ก์ด ์คํจ์ ๋ํด ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
XNUMX์ - "DNS์ ์ ๋ฆฌํ๊ธฐ"
ํญํ์ฐ๊ฐ ๋ชฐ์์น๋ ํ์์ผ์ด์์ต๋๋ค. ์ฐ๋ฆฌ๋ DNS ํด๋ฌ์คํฐ์ ์์๋ฅผ ๋ณต์ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋ด๋ถ DNS ์๋ฒ๋ฅผ ๋ฐ์ธ๋ฉ์์ powerdns๋ก ์ ์กํ๊ณ ์ด๋ฅผ ์ํด DNS ์ธ์๋ ์๋ฌด๊ฒ๋ ์๋ ์์ ํ ๋ณ๋์ ์๋ฒ๋ฅผ ํ ๋นํ๊ณ ์ถ์์ต๋๋ค.
์ฐ๋ฆฌ๋ DC์ ๊ฐ ์์น์ ํ๋์ DNS ์๋ฒ๋ฅผ ๋ฐฐ์นํ์ผ๋ฉฐ ์์ญ์ ๋ฐ์ธ๋์์ powerdns๋ก ์ด๋ํ๊ณ ์ธํ๋ผ๋ฅผ ์ ์๋ฒ๋ก ์ ํํ๋ ์๊ฐ์ด ์์ต๋๋ค.
์ด๋ ์ค์ ๋ชจ๋ ์๋ฒ์ ๋ก์ปฌ ์บ์ฑ ๋ฐ์ธ๋ฉ์ ์ง์ ๋ ๋ชจ๋ ์๋ฒ ์ค ์ํธํํ
๋ฅด๋ถ๋ฅดํฌ์ ๋ฐ์ดํฐ ์ผํฐ์ ์๋ ์๋ฒ ํ๋๋ง ๋จ์์ต๋๋ค. ์ด DC๋ ์ฒ์์๋ ์ค์ํ์ง ์์ ๊ฒ์ผ๋ก ์ ์ธ๋์์ผ๋ ๊ฐ์๊ธฐ ๋จ์ผ ์คํจ ์ง์ ์ด ๋์์ต๋๋ค.
๋ชจ์คํฌ๋ฐ์ ์ํธํํ
๋ฅด๋ถ๋ฅดํฌ ์ฌ์ด์ ์ดํ๊ฐ ๋ฌด๋์ง ๊ฒ์ ๋ฐ๋ก ์ด ์ด์ ๊ธฐ๊ฐ ๋์์ด์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ค์ ๋ก XNUMX๋ถ ๋์ DNS ์์ด ๋ฐฉ์น๋์๋ค๊ฐ ํธ์คํ
์
์ฒด๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ ๋ ๋ค์ ์ผ์ด๋ฌ์ต๋๋ค.
๊ฒฐ๋ก :
์ด์ ์ ์์ ์ ์ค๋นํ๋ ๋์ ์ธ๋ถ ์์ธ์ ๋ฌด์ํ๋ค๋ฉด ์ด์ ๊ทธ ์์๋ ์ฐ๋ฆฌ๊ฐ ์ค๋นํ๋ ๋ชฉ๋ก์ ํฌํจ๋ฉ๋๋ค. ์ด์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ตฌ์ฑ ์์๊ฐ n-2๋ก ์์ฝ๋๋๋ก ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ ์์ ์ค์ ์ด ์์ค์ n-1๋ก ๋ฎ์ถ ์ ์์ต๋๋ค.
- ์คํ ๊ณํ์ ์ธ์ธ ๋ ์๋น์ค๊ฐ ์คํจํ ์ ์๋ ์ง์ ์ ํ์ํ๊ณ ๋ชจ๋ ๊ฒ์ด "๋์ ์ํ์์ ๋ ๋์ ์ํ๋ก" ์งํ๋๋ ์๋๋ฆฌ์ค๋ฅผ ๋ฏธ๋ฆฌ ์๊ฐํด ๋ณด์ธ์.
- ๋ค์ํ ์ง๋ฆฌ์ ์์น/๋ฐ์ดํฐ ์ผํฐ/๋/์ค์์น/์ ๋ ฅ์ ๋ด๋ถ DNS ์๋ฒ๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
- ๊ฐ ์๋ฒ์ ์์ฒญ์ ๊ธฐ๋ณธ DNS ์๋ฒ๋ก ๋ฆฌ๋๋ ์ ํ๋ ๋ก์ปฌ ์บ์ฑ DNS ์๋ฒ๋ฅผ ์ค์นํ๊ณ , ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์บ์์์ ์๋ตํฉ๋๋ค.
XNUMX์ - "Nginx์์ ์ ๋ฆฌํ๊ธฐ"
์ด๋ ํ์ฐฝํ ๋ , ์ฐ๋ฆฌ ํ์ "์ด์ ์ถฉ๋ถํ๋ค"๊ณ ๊ฒฐ์ ํ๊ณ nginx ๊ตฌ์ฑ์ ๋ฆฌํฉํ ๋งํ๋ ํ๋ก์ธ์ค๊ฐ ์์๋์์ต๋๋ค. ์ฃผ์ ๋ชฉํ๋ ๊ตฌ์ฑ์ ์ง๊ด์ ์ธ ๊ตฌ์กฐ๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด์ ์๋ ๋ชจ๋ ๊ฒ์ด "์ญ์ฌ์ ์ผ๋ก ํ๋ฆฝ"๋์ด ๋ ผ๋ฆฌ๊ฐ ์์์ต๋๋ค. ์ด์ ๊ฐ server_name์ด ๋์ผํ ์ด๋ฆ์ ํ์ผ๋ก ์ด๋๋์์ผ๋ฉฐ ๋ชจ๋ ๊ตฌ์ฑ์ด ํด๋์ ๋ฐฐํฌ๋์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ตฌ์ฑ์๋ 253949์ค ๋๋ 7836520์๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ๊ฑฐ์ โโ7MB๋ฅผ ์ฐจ์งํฉ๋๋ค. ์ต์์ ๊ตฌ์กฐ:
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์ด ์ค์ด๋ค๊ฒ ๋ฉ๋๋ค.
- ์ผ๋ถ ์ธํ๋ผ ๊ตฌ์ฑ ์์์ ๋ํ ํ ์คํธ๋ฅผ ์์ฑํฉ๋๋ค. ์: ๋ชจ๋ ํค server_name์ด ์ฌ๋ฐ๋ฅธ ์ํ + ์๋ต ๋ณธ๋ฌธ์ ์ ๊ณตํ๋์ง ํ์ธํฉ๋๋ค. ๊ตฌ์ฑ ์์์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ํ์ธํ๋ ๋ช ๊ฐ์ง ์คํฌ๋ฆฝํธ๋ง ์์ผ๋ฉด ์ถฉ๋ถํ๋ฏ๋ก ์ค์ 3์์ ํ์ธํด์ผ ํ ์ฌํญ์ ์ ์ ์์ด ๊ธฐ์ตํ์ง ์์๋ ๋ฉ๋๋ค.
XNUMX์ - "์นด์ฐ๋๋ผ์์ ๊ฐ์๊ธฐ ๊ณต๊ฐ์ด ๋ถ์กฑํด์ก์ต๋๋ค."
๋ฐ์ดํฐ๋ ๊พธ์คํ ์ฆ๊ฐํ๊ณ Cassandra ํด๋ฌ์คํฐ์์ ๋ํ ์ผ์ด์ค ๊ณต๊ฐ์ ์๋ฆฌ๊ฐ ์คํจํ๊ธฐ ์์ํ ๋๊น์ง๋ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์์ต๋๋ค. ์์ถ์ด ์๋ํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ ํญํ์ฐ๊ฐ ๋ชฐ์์น๋ ๋ , ํด๋ฌ์คํฐ๋ ๊ฑฐ์ ํธ๋ฐ์ผ๋ก ๋ณํ์ต๋๋ค.
- ํด๋ฌ์คํฐ์๋ ์ ์ฒด ๊ณต๊ฐ์ ์ฝ 20%๊ฐ ๋จ์ ์์์ต๋๋ค.
- ๋ ธ๋๋ฅผ ์ถ๊ฐํ ํ ํํฐ์ ๊ณต๊ฐ์ด ๋ถ์กฑํ์ฌ ์ ๋ฆฌ๊ฐ ์งํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ ธ๋๋ฅผ ์์ ํ ์ถ๊ฐํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- ์์ถ์ด ์๋ํ์ง ์์ ์์ฐ์ฑ์ด ์ ์ฐจ ๋จ์ด์ง๋๋ค.
- ํด๋ฌ์คํฐ๊ฐ ๋น์ ๋ชจ๋์ ์์ต๋๋ค.
์ข
๋ฃ - ์ ๋ฆฌํ์ง ์๊ณ ๋
ธ๋ 5๊ฐ๋ฅผ ๋ ์ถ๊ฐํ ํ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๋น ๋
ธ๋์ฒ๋ผ ํด๋ฌ์คํฐ์์ ๋
ธ๋๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ ๊ฑฐํ๊ณ ๋ค์ ์
๋ ฅํ๊ธฐ ์์ํ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ์๊ฐ์ด ์์๋์์ต๋๋ค. ํด๋ฌ์คํฐ๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ๋๋ ์์ ํ ์ฌ์ฉํ ์ ์๊ฒ ๋ ์ํ์ด ์์์ต๋๋ค.
๊ฒฐ๋ก :
- ๋ชจ๋ Cassandra ์๋ฒ์์๋ ๊ฐ ํํฐ์ ๊ณต๊ฐ์ 60% ์ดํ๋ฅผ ์ฐจ์งํด์ผ ํฉ๋๋ค.
- CPU์ 50% ์ดํ๋ก ๋ก๋๋์ด์ผ ํฉ๋๋ค.
- ์ฉ๋ ๊ณํ์ ์์ด์๋ ์ ๋๋ฉฐ, ๊ฐ ๊ตฌ์ฑ ์์์ ์ธ๋ถ ์ฌํญ์ ํ ๋๋ก ์ฒ ์ ํ๊ฒ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
- ํด๋ฌ์คํฐ์ ๋ ธ๋๊ฐ ๋ง์์๋ก ์ข์ต๋๋ค. ์ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ์๋ฒ๋ ๋ ๋นจ๋ฆฌ ๊ณผ๋ถํ๋๊ณ , ์ด๋ฌํ ํด๋ฌ์คํฐ๋ ๋ค์ ํ์ฑํ๋๊ธฐ ์ฝ์ต๋๋ค.
XNUMX์ โ โ์์ฌ ํค-๊ฐ ์ ์ฅ์์์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ก์ต๋๋คโ
์๋น์ค ๊ฒ์์ ์ํด ์ฐ๋ฆฌ๋ ๋ง์ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ํ ๋ชจ๋๋ฆฌ์ค์ ์ฒญ๋ก์ ๋ ์ด์์์ ๋ํ ํค-๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐฐํฌ ์ค์ ์์น๊ฐ ๋ณ๊ฒฝ๋๋ ํ์ฑ ๋ฐ ๋นํ์ฑ ์ ์คํธ๋ฆผ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค. ์ด๋ฅผ ์ํด KV์ ์ํธ ์์ฉํ๋ ๋ฐฐํฌ ์๋น์ค๊ฐ ์์ฑ๋์์ต๋๋ค. ์ด๋ ์์ ์์ KV์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์์ ๋ณต์ํ์ง๋ง ์ค๋ฅ๊ฐ ๋ง์ด ๋ฐ์ํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ์ ๋ก๋ ์ ์ ์คํธ๋ฆผ์ ๋ถํ๊ฐ ๊ณ ๋ฅด์ง ์๊ฒ ๋ถ์ฐ๋์๊ณ , ๋ฐฑ์๋์ CPU ๊ณผ๋ถํ๋ก ์ธํด 502 ์ค๋ฅ๊ฐ ๋ง์ด ๋ฐ์ํ์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ๋ consul KV์์ postgres๋ก ์ด๋ํ์ผ๋ฉฐ ๋ ์ด์ ์ ๊ฑฐํ๊ธฐ๊ฐ ์ฝ์ง ์์ต๋๋ค.
๊ฒฐ๋ก :
- ์น์ธ๋์ง ์์ ์๋น์ค์๋ ์ฌ์ดํธ ์ด์์ ์ค์ํ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด์๋ ์ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ES์์ ๊ถํ์ด ์์ผ๋ฉด ํ์ํ์ง ์์ ๋ชจ๋ ๊ณณ์์ ๋คํธ์ํฌ ์์ค์ ์ก์ธ์ค๋ฅผ ๊ฑฐ๋ถํ๊ณ ํ์ํ ๊ฒ๋ง ๋จ๊ฒจ๋๊ณ action.destructive_requires_name: true๋ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ์ ๋ฏธ๋ฆฌ ์ฐ์ตํด ๋ณด์ธ์. ์๋ฅผ ๋ค์ด ๋ฐฑ์ ๊ณผ ๋ณต์์ด ๊ฐ๋ฅํ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฏธ๋ฆฌ(์๋ฅผ ๋ค์ด Python์ผ๋ก) ๋ง๋ค์ด ๋ณด์ธ์.
XNUMX์ - '์บกํด ์ธ๋ ธ๋น์ด์ค(Captain Unobvious)'
์ด๋ค ์์ ์์ ์ฐ๋ฆฌ๋ ๋ฐฑ์๋์ 10๊ฐ ์ด์์ ์๋ฒ๊ฐ ์๋ ๊ฒฝ์ฐ nginx ์ ์คํธ๋ฆผ์์ ๋ก๋๊ฐ ๊ณ ๋ฅด์ง ์๊ฒ ๋ถ์ฐ๋๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ผ์ด๋ ๋ก๋น์ด ์ฒ์๋ถํฐ ๋ง์ง๋ง โโ์ ์คํธ๋ฆผ๊น์ง ์์๋๋ก ์์ฒญ์ ๋ณด๋ด๊ณ ๊ฐ nginx ๋ค์ ๋ก๋๊ฐ ๋ค์ ์์๋์๊ธฐ ๋๋ฌธ์ ์ฒซ ๋ฒ์งธ ์ ์คํธ๋ฆผ์ ํญ์ ๋๋จธ์ง ์ ์คํธ๋ฆผ๋ณด๋ค ๋ ๋ง์ ์์ฒญ์ ๋ฐ์๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ ์๋๊ฐ ๋๋ ค์ง๊ณ ์ฌ์ดํธ ์ ์ฒด๊ฐ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค. ์ด๋ ํธ๋ํฝ ์์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ ์ ๋ ๋์ ๋๊ฒ ๋ํ๋ฌ์ต๋๋ค. ๋จ์ํ ๋ฌด์์๋ฅผ ํ์ฑํํ๊ธฐ ์ํด nginx๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ์๋ํ์ง ์์์ต๋๋ค. (๋น์) ๋ฒ์ 1์์ ์์๋์ง ์์๋ ์ฌ๋ฌ Lua ์ฝ๋๋ฅผ ๋ค์ ์คํํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ nginx 1.15๋ฅผ ํจ์นํ์ฌ ๋ฌด์์ ์ง์์ ๋์ ํด์ผ ํ์ต๋๋ค. ์ด๋ก์จ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ์ด ๋ฒ๊ทธ๋ "Captain Non-Obviousness" ์นดํ ๊ณ ๋ฆฌ์์ ์ฐ์นํ์ต๋๋ค.
๊ฒฐ๋ก :
์ด ๋ฒ๊ทธ๋ฅผ ํ์ํ๋ ๊ฒ์ ๋งค์ฐ ํฅ๋ฏธ๋กญ๊ณ ํฅ๋ฏธ๋ก์ ์ต๋๋ค.)
- ์ด๋ฌํ ๋ณ๋์ ๋น ๋ฅด๊ฒ ์ฐพ๋ ๋ฐ ๋์์ด ๋๋๋ก ๋ชจ๋ํฐ๋ง์ ๊ตฌ์ฑํ์ธ์. ์๋ฅผ ๋ค์ด ELK๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์ ์คํธ๋ฆผ์ ๊ฐ ๋ฐฑ์๋์์ rps๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ nginx์ ๊ด์ ์์ ์๋ต ์๊ฐ์ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ด๋ ๋ฌธ์ ๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก, ํ์ฌ ์ํ ์ค์ธ ์์
์ ๋ํด ์ข ๋ ์ธ์ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ทจํ๋ค๋ฉด ๋๋ถ๋ถ์ ์คํจ๋ฅผ ํผํ ์ ์์์ ๊ฒ์
๋๋ค. ์ฐ๋ฆฌ๋ ๋จธํผ์ ๋ฒ์น์ ํญ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค. ์๋ชป๋ ์ ์๋ ์ผ์ ๋ฌด์์ด๋ ์๋ชป๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
์ถ์ฒ : habr.com