Qrator ํ•„ํ„ฐ๋ง ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

Qrator ํ•„ํ„ฐ๋ง ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

TL; DR: ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ธ QControl์˜ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์—”๋“œํฌ์ธํŠธ ๊ฐ„ ์••์ถ•์„ ํ’€์ง€ ์•Š๊ณ  gzip์œผ๋กœ ์••์ถ•๋œ ๋ฉ”์‹œ์ง€์™€ ์ž‘๋™ํ•˜๋Š” XNUMX๊ณ„์ธต ์ „์†ก ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ๋ผ์šฐํ„ฐ์™€ ์—”๋“œํฌ์ธํŠธ๋Š” ๊ตฌ์„ฑ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ํ”„๋กœํ† ์ฝœ ์ž์ฒด๋ฅผ ํ†ตํ•ด ์ง€์—ญํ™”๋œ ์ค‘๊ฐ„ ๋ฆด๋ ˆ์ด๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ์›์น™์— ๋”ฐ๋ผ ๊ตฌ์ถ•๋ฉ๋‹ˆ๋‹ค. ์ฐจ๋“ฑ ๋ฐฑ์—… (โ€œ์ตœ๊ทผ ์•ˆ์ •โ€, ์•„๋ž˜ ์„ค๋ช…) Jinja ํ…œํ”Œ๋ฆฟ ์—”์ง„๊ณผ ํ•จ๊ป˜ JMESpath ์ฟผ๋ฆฌ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.

Qrator Labs๋Š” ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ๊ณต๊ฒฉ ์™„ํ™” ๋„คํŠธ์›Œํฌ๋ฅผ ์šด์˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‚ฌ ๋„คํŠธ์›Œํฌ๋Š” ์• ๋‹ˆ์บ์ŠคํŠธ ์›์น™์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜๋ฉฐ ์„œ๋ธŒ๋„ท์€ BGP๋ฅผ ํ†ตํ•ด ๊ด‘๊ณ ๋ฉ๋‹ˆ๋‹ค. ์ง€๊ตฌ์ƒ์˜ ์—ฌ๋Ÿฌ ์ง€์—ญ์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์œ„์น˜ํ•œ BGP ์• ๋‹ˆ์บ์ŠคํŠธ ๋„คํŠธ์›Œํฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท์˜ ํ•ต์‹ฌ์ธ Tier-1 ์‚ฌ์—…์ž์— ๋” ๊ฐ€๊นŒ์šด ๋ถˆ๋ฒ• ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด, ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ ์„œ๋น„์Šค ์ œ๊ณต์—…์ฒด๊ฐ€ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ๊ตฌ์„ฑํ•˜๊ณ  ์ ์‹œ์— ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋„คํŠธ์›Œํฌ PoP(Point of Presence) ๊ฐ„์˜ ํ†ต์‹ ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์†Œ๋น„์ž์—๊ฒŒ ์ตœ๊ณ  ์ˆ˜์ค€์˜ ํ•ต์‹ฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๋ฅ™ ์ „์ฒด์— ๊ฑธ์ณ ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํƒœ์ดˆ์— ๋ง์”€์ด ์žˆ์—ˆ๋‹ค. ์ด๋Š” ๋น ๋ฅด๊ฒŒ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


QControl ์กด์žฌ์˜ ์ดˆ์„์ด์ž ๋™์‹œ์— ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ํ”„๋กœํ† ์ฝœ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„๊ณผ ์ž์›์„ ์†Œ๋น„ํ•˜๋Š” ์ฃผ๋œ ์ด์œ ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ผ ๊ตฌ์„ฑ ์†Œ์Šค๋ฅผ ํ™•๋ณดํ•˜๊ณ  ๊ถ๊ทน์ ์œผ๋กœ ์กด์žฌ ์ง€์ ์„ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์œผ๋กœ. ์Šคํ† ๋ฆฌ์ง€ ์ž์ฒด๋Š” QControl ๊ฐœ๋ฐœ ์ค‘ ์—ฌ๋Ÿฌ ์š”๊ตฌ ์‚ฌํ•ญ ์ค‘ ํ•˜๋‚˜์— ๋ถˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ POP(Point of Presence)์—์„œ ๊ธฐ์กด ๋ฐ ๊ณ„ํš๋œ ์„œ๋น„์Šค์™€์˜ ํ†ตํ•ฉ, ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ์„ ์œ„ํ•œ ์Šค๋งˆํŠธํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•, ์•ก์„ธ์Šค ์ œ์–ด๋„ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์™ธ์—๋„ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๋Œ€์‹  ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์„ ์ œ์–ดํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. QControl ์ด์ „์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฑฐ์˜ ์ˆ˜๋™์œผ๋กœ ์ ‘์† ์ง€์ ์œผ๋กœ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค. PoP ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ  ๋‚˜์ค‘์— ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์„ ์žŠ์–ด๋ฒ„๋ฆฐ ๊ฒฝ์šฐ ๊ตฌ์„ฑ์ด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ„ํš์„ ์ƒ๊ฐํ•ด ๋ƒˆ์Šต๋‹ˆ๋‹ค.
Qrator ํ•„ํ„ฐ๋ง ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
๊ตฌ์„ฑ ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์ €์žฅ์„ ๋‹ด๋‹นํ•˜๋ฉฐ, ๋ผ์šฐํ„ฐ์—๋Š” ํด๋ผ์ด์–ธํŠธ ๋ฐ ์ง€์› ํŒ€์—์„œ ์„œ๋ฒ„๋กœ, ์„œ๋ฒ„์—์„œ ์ ‘์† ์ง€์ ์œผ๋กœ ๊ตฌ์„ฑ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…ํ•˜๋Š” ์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ํ’ˆ์งˆ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ฒด์ฝ” ํ”„๋ผํ•˜์—์„œ ์‹ฑ๊ฐ€ํฌ๋ฅด ๋ฐ ํ™์ฝฉ๊นŒ์ง€์˜ ๊ฐ„๋‹จํ•œ MTR์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Qrator ํ•„ํ„ฐ๋ง ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
ํ”„๋ผํ•˜์—์„œ ์‹ฑ๊ฐ€ํฌ๋ฅด๊นŒ์ง€ MTR

Qrator ํ•„ํ„ฐ๋ง ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
ํ™์ฝฉ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€

๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ๋‹ค๋Š” ๊ฒƒ์€ ์†๋„๊ฐ€ ๋‚ฎ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ํŒจํ‚ท ์†์‹ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ„๋„ ํญ์€ ์ด ๋ฌธ์ œ๋ฅผ ๋ณด์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ํ•ญ์ƒ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

PoP์˜ ์ „์ฒด ๊ตฌ์„ฑ์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ๋งŽ์€ ์ˆ˜์‹ ์ž์—๊ฒŒ ์ „์†ก๋˜์–ด์•ผ ํ•˜๋Š” ์ƒ๋‹นํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ๋‹คํ–‰์Šค๋Ÿฝ๊ฒŒ๋„ ๊ตฌ์„ฑ์€ ์ง€์†์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์ง€๋งŒ ์กฐ๊ธˆ์”ฉ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

์ตœ๊ทผ ์•ˆ์ •๋œ ๋””์ž์ธ

์ฆ๋ถ„ ์—…๋ฐ์ดํŠธ ์›์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ํ™•์‹คํ•œ ์†”๋ฃจ์…˜์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ diff์—๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ฐธ์กฐ ์ง€์  ๊ฐ„์˜ ๋ชจ๋“  ์ฐจ์ด์ ์„ ์ €์žฅํ•ด์•ผ ํ•˜๋ฉฐ, ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๋ฅผ ๋†“์นœ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ๋‹ค์‹œ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋Œ€์ƒ์€ ์—„๊ฒฉํ•˜๊ฒŒ ์ง€์ •๋œ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ด๋ฅผ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€์ƒ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์ž‘์—…์— ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ๋˜ํ•œ ๋ˆ„๋ฝ๋œ ๋ถ€๋ถ„์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ๋ฌผ๋ก  ์ค‘์•™ ๋ถ€๋ถ„์€ ์ด๋Ÿฌํ•œ ์š”์ฒญ์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‘๋‹ตํ•˜์—ฌ ๋ˆ„๋ฝ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋‹ค์†Œ ํฅ๋ฏธ๋กœ์šด ์†”๋ฃจ์…˜์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ์กฐ ๋ ˆ์ด์–ด๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๊ณ  ๊ณ ์ •๋˜์–ด ์žˆ๊ณ  ์•ˆ์ •์ ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ ์ตœ๊ทผ์—๋Š” ๋‹จ ํ•˜๋‚˜์˜ ์ฐจ์ด์ ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ตœ๊ทผ ํ•ญ๋ชฉ์€ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ƒ์„ฑ๋œ ์•ˆ์ • ํ•ญ๋ชฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ตœ์‹  ํ•ญ๋ชฉ์ด ๋ชฉ์ ์ง€์— ๋„๋‹ฌํ•˜์ž๋งˆ์ž ์ด์ „ ํ•ญ๋ชฉ์€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ตœ๊ทผ ๊ตฌ์„ฑ์ด ๋„ˆ๋ฌด ์ปค์กŒ๊ธฐ ๋•Œ๋ฌธ์— ๋•Œ๋•Œ๋กœ ์ƒˆ๋กญ๊ณ  ์•ˆ์ •์ ์ธ ๊ตฌ์„ฑ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ๋งŒ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ๊ฐœ๋ณ„ ์ˆ˜์‹ ์ž ๋ฐ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ํ†ตํ•ฉํ•˜๋Š” ๋Šฅ๋ ฅ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜์ง€ ์•Š๊ณ  ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์—…๋ฐ์ดํŠธ๋ฅผ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ/๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ชจ๋“œ๋กœ ๋ณด๋‚ธ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์˜ฌ๋ฐ”๋ฅธ ๋งˆ๊ตฌ๊ฐ„์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•˜๋ฉด ์ตœ์‹ ์˜ ์ƒˆ ๋งˆ๊ตฌ๊ฐ„๋งŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ช…ํ™•ํžˆ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ณต์žฅ. ์•ˆ์ • ๋ฒ„์ „์€ ๊ตฌ์„ฑ ์„œ๋ฒ„์™€ ์ˆ˜์‹ ์ž์— ์บ์‹œ๋˜๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ ์ตœ๊ทผ ๋ฒ„์ „์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

XNUMX๋‹จ๊ณ„ ์ „์†ก ์•„ํ‚คํ…์ฒ˜

์™œ ์šฐ๋ฆฌ๋Š” ๋‘ ๊ฐ€์ง€ ์ˆ˜์ค€์œผ๋กœ ์šด์†ก ์ˆ˜๋‹จ์„ ๊ตฌ์ถ•ํ–ˆ์„๊นŒ์š”? ๋Œ€๋‹ต์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” OSI ๋ชจ๋ธ์˜ ์ „์†ก ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„ ์ƒ์œ„ ์ˆ˜์ค€ ๋กœ์ง์—์„œ ๋ผ์šฐํŒ…์„ ๋ถ„๋ฆฌํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์ „์†ก ํ”„๋กœํ† ์ฝœ์˜ ์—ญํ• ์—๋Š” Thrift๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ œ์–ด ๋ฉ”์‹œ์ง€์˜ ์ƒ์œ„ ์ˆ˜์ค€ ํ˜•์‹์—๋Š” msgpack ์ง๋ ฌํ™” ํ˜•์‹์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ/๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ/๋ฆด๋ ˆ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ผ์šฐํ„ฐ๊ฐ€ msgpack ๋‚ด๋ถ€๋ฅผ ์‚ดํŽด๋ณด์ง€ ์•Š๊ณ , ๋‚ด์šฉ์„ ์–ธํŒฉํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ํŒฉํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋งŒ ์ „๋‹ฌํ•˜๋Š” ์ด์œ ๊ฐ€ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

Thrift(์˜์–ด - "thrift", [ฮธrift]๋กœ ๋ฐœ์Œ)๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•˜๊ณ  ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์„ค๋ช… ์–ธ์–ด์ž…๋‹ˆ๋‹ค. RPC(์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ)๋ฅผ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ํŒŒ์ดํ”„๋ผ์ธ์„ ์ฝ”๋“œ ์ƒ์„ฑ ์—”์ง„๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์–ธ์–ด ๊ฐ„์— ์–ด๋Š ์ •๋„ ํšจ์œจ์ ์ด๊ณ  ์‰ฝ๊ฒŒ ์ž‘๋™ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” RPC์™€ ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์› ๋•Œ๋ฌธ์— Thrift ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Š˜ ๊ทธ๋ ‡๋“ฏ์ด ์‰ฌ์šด ๋ถ€๋ถ„์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ผ์šฐํ„ฐ๋Š” ๊ฐœ๋ฐœ ์ค‘์— ๊ธฐ์„ฑ ์†”๋ฃจ์…˜์ด ๋ถ€์กฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊นจ์ง€๊ธฐ ํž˜๋“  ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Qrator ํ•„ํ„ฐ๋ง ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œprotobuf/gRPC์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์˜ต์…˜๋„ ์žˆ์ง€๋งŒ, ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ gRPC๋Š” ์ƒ๋‹นํžˆ ์ƒˆ๋กœ์šด ๊ฒƒ์ด์—ˆ๊ณ  ๊ฐํžˆ ์ด๋ฅผ ๋„์ž…ํ•  ์ƒ๊ฐ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก , ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ ์ž์‹ ์˜ ์ž์ „๊ฑฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ๋กœ ๊ทธ๋ž˜์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค). Thrift์—์„œ ๋ผ์šฐํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•ด ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”ํ•œ ํ”„๋กœํ† ์ฝœ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์‹์œผ๋กœ๋“  ์ž์ฒด ์ž‘์„ฑ ํ”„๋กœํ† ์ฝœ๊ณผ ์ธ๊ธฐ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์ „ํ†ต์ ์ธ ํŽธ๊ฒฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค(ํƒ€๋‹นํ•œ ์ด์œ ๊ฐ€ ์žˆ์Œ). ๋˜ํ•œ ํ† ๋ก  ์ค‘์— ํ•ญ์ƒ "์ด๊ฒƒ์„ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์–ด๋–ป๊ฒŒ ํฌํŒ…ํ•  ๊ฒƒ์ธ๊ฐ€?"๋ผ๋Š” ์งˆ๋ฌธ์ด ์ œ๊ธฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ž์ „๊ฑฐ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ์ฆ‰์‹œ ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.

Msgpack์€ JSON๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋” ๋น ๋ฅด๊ณ  ๋” ์ž‘์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์–ธ์–ด ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์ง„ ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™” ํ˜•์‹์ž…๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ˆ˜์ค€์—๋Š” ๋ผ์šฐํ„ฐ๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ Thrift๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ˆ˜์ค€์—๋Š” ํŒจํ‚ค์ง€๋œ msgpack ๊ตฌ์กฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

msgpack์€ JSON์— ๋น„ํ•ด ๋” ๋น ๋ฅด๊ณ  ์ปดํŒฉํŠธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋” ์ค‘์š”ํ•œ ๊ฒƒ์€ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ง€์›ํ•˜๋ฏ€๋กœ ์›์‹œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ „๋‹ฌ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋ถ€์žฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํŠน์ˆ˜ ๊ฐœ์ฒด ์ „๋‹ฌ๊ณผ ๊ฐ™์€ ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” "์ตœ๊ทผ ์•ˆ์ •" ๋ฐฉ์‹์— ์ค‘์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

JMES๊ฒฝ๋กœ
JMESPath๋Š” JSON ์ฟผ๋ฆฌ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
์ด๋Š” ๊ณต์‹ JMESPath ๋ฌธ์„œ์—์„œ ์–ป์€ ์„ค๋ช…๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ ์ด์ƒ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. JMESPath๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž„์˜์˜ ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ํ•˜์œ„ ํŠธ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ ๋ฐ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์ฆ‰์‹œ ๋ฐ์ดํ„ฐ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํŠน์ˆ˜ ํ•„ํ„ฐ ๋ฐ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ์ ˆ์ฐจ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ดํ•ดํ•˜๋ ค๋ฉด ๋‘๋‡Œ์˜ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ง„์ž
์ผ๋ถ€ ์†Œ๋น„์ž์˜ ๊ฒฝ์šฐ ๊ตฌ์„ฑ์„ ํŒŒ์ผ๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํ…œํ”Œ๋ฆฟ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ Jinja๊ฐ€ ํ™•์‹คํ•œ ์„ ํƒ์ž…๋‹ˆ๋‹ค. ๋„์›€์„ ๋ฐ›์•„ ํ…œํ”Œ๋ฆฟ์—์„œ ๊ตฌ์„ฑ ํŒŒ์ผ๊ณผ ๋Œ€์ƒ์—์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด JMESPath ์š”์ฒญ, FS์˜ ํŒŒ์ผ ์œ„์น˜์— ๋Œ€ํ•œ ํ…œํ”Œ๋ฆฟ, ๊ตฌ์„ฑ ์ž์ฒด์— ๋Œ€ํ•œ ํ…œํ”Œ๋ฆฟ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ํŒŒ์ผ ๊ถŒํ•œ์„ ๋ช…ํ™•ํžˆ ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์ด ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒฐํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํ…œํ”Œ๋ฆฟ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‚˜๋จธ์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” YAML ํ˜•์‹์˜ ํ—ค๋”๋ฅผ ๋ฐฐ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค

---
selector: "[@][[email protected]._meta.version == `42`] | items([0].fft_config || `{}`)"
destination_filename: "fft/{{ match[0] }}.json"
file_mode: 0644
reload_daemons: [fft] ...
{{ dict(match[1]) | json(indent=2, sort_keys=True) }}

์ƒˆ๋กœ์šด ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒˆ๋กœ์šด ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. PoP(Point of Presence)์˜ ์†Œ์Šค ์ฝ”๋“œ๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

QControl์ด ์ถœ์‹œ๋œ ํ›„ ๋ฌด์—‡์ด ๋ฐ”๋€Œ์—ˆ๋‚˜์š”? ์ฒซ ๋ฒˆ์งธ์ด์ž ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ๋…ธ๋“œ์— ๊ตฌ์„ฑ ์—…๋ฐ์ดํŠธ๋ฅผ ์ผ๊ด€๋˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” ์ง€์›ํŒ€๊ณผ ์„œ๋น„์Šค ์†Œ๋น„์ž๊ฐ€ ๊ตฌ์„ฑ์„ ํ™•์ธํ•˜๊ณ  ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๊ตฌ์„ฑ ์„œ๋ฒ„์™€ ๊ตฌ์„ฑ ์ˆ˜์‹ ์ž ๊ฐ„์˜ ํ†ต์‹ ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ๊ทผ ์•ˆ์ •์ ์ธ ์—…๋ฐ์ดํŠธ ๊ตฌ์„ฑํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. XNUMX๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ˜ํ…์ธ  ๋…๋ฆฝ์ ์ธ ๋ฐ์ดํ„ฐ ๋ผ์šฐํŒ… ๋ฐฉ์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Jinja ๊ธฐ๋ฐ˜ ๊ตฌ์„ฑ ์ƒ์„ฑ ์—”์ง„์„ ๋ถ„์‚ฐ ํ•„ํ„ฐ๋ง ๋„คํŠธ์›Œํฌ์— ์„ฑ๊ณต์ ์œผ๋กœ ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ๋ถ„์‚ฐํ˜• ๋ฐ ์ด๊ธฐ์ข… ์ฃผ๋ณ€ ์žฅ์น˜์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ž๋ฃŒ ์ž‘์„ฑ์— ๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ณผ๋ž€๋‹ด๋กœ๋“œ, ํ‰์˜จํ•จ, ์•„๋‹ˆ์š”.

์˜๋ฌธํŒ ์šฐํŽธ.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€