DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ

19์›” XNUMX์ผ ์˜ˆ์นดํ…Œ๋ฆฐ๋ถ€๋ฅดํฌ์—์„œ ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค๊ฐ€ ๊ฐœ์ตœ๋ฉ๋‹ˆ๋‹ค ๋ฒ„๋ฆฌ๋‹ค. ๋ฐฑ์—”๋“œ ์„น์…˜์˜ ํ”„๋กœ๊ทธ๋žจ ๋””๋ ‰ํ„ฐ(Yandex ๊ฐœ๋ฐœ ์‚ฌ๋ฌด์†Œ ์ฑ…์ž„์ž Andrey Zharinov, Naumen Contact Center Konstantin Beklemishev ๊ฐœ๋ฐœ ๋ถ€์„œ ์ฑ…์ž„์ž, Kontur Denis Tarasov์˜ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด)๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปจํผ๋Ÿฐ์Šค์—์„œ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด๊ณ ์„œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ

๋ณด๊ณ ์„œ

์ฒ˜์Œ ๋‘ ๋ณด๊ณ ์„œ๋Š” ์„œ๋กœ ์—ฐ๊ด€๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋‘ ๋ณด๊ณ ์„œ ๋ชจ๋‘ ๋“ค์–ด๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ ๋ฌธ์ œ 1. ์™ธ๋ถ€ API๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ํŠนํžˆ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค. ํ˜•์‹ ๊ฒ€์ฆ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ๋ถ„๋ช…ํ•ด ๋ณด์ด์ง€๋งŒ ์™ธ๋ถ€ ์†Œ์Šค์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ˆ˜๋งŽ์€ ๊ฐœ๋ณ„ ๊ฒ€์‚ฌ๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์—†๊ฒŒ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ธ๋ฅด๊ฒŒ์ด ๋Œ๊ฐ€๋…ธํ”„ ์œผ๋กœ ์‚ฌ์•…ํ•œ ํ™”์„ฑ์ธ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ตฌ์กฐํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ ๋ฌธ์ œ 2. ์„œ๋ฒ„์™€ ํšจ์œจ์ ์œผ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ ค๋ฉด API ํ˜ธ์ถœ ์ˆ˜์™€ ๋ฐ˜ํ™˜๋˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์„ ์ตœ์ ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„ ์ˆ˜์ค€์—์„œ ์ผ๊ด€๋œ ์—”ํ„ฐํ‹ฐ ๋””์ž์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋“œ๋ฏธํŠธ๋ฆฌ ์ฒดํŽ ๋ ˆํ”„ (์‚ฌ์•…ํ•œ ํ™”์„ฑ์ธ) GraphQL์˜ ์ฒ ํ•™๊ณผ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ํšจ๊ณผ์ ์œผ๋กœ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜๊ณ , ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๊ณ , ๊ธฐ์กด REST์™€ ์˜ˆ์ œ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ธ”๋ก์€ Postgres์™€ Go์˜ ์กฐํ•ฉ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Avito์™€ Yandex์˜ ๊ฒฝํ—˜์„ ๋“ค์–ด๋ณด์„ธ์š” :)

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ Postgres๊ฐ€ ์žˆ๊ณ  ํ”„๋กœ์ ํŠธ์— Go๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ด๋ฒˆ์ด ์ฒ˜์Œ์ด์‹ ๊ฐ€์š”? ์ด ๋ณด๊ณ ์„œ๋Š” ๊ท€ํ•˜์˜ ์‹œ๊ฐ„์„ ์—„์ฒญ๋‚˜๊ฒŒ ์ ˆ์•ฝํ•ด ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด ์•„๋น„ํ†  ์•„๋ฅดํ…Œ๋ฏธ ๋ฆฌ์•„๋นˆ์ฝ”ํ”„ Avito์—์„œ ๋งค์ผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Go์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ž‘์—…ํ•˜๋Š” ๋„๊ตฌ์™€ ๋ชจ๋“  ๋ณต์žก์„ฑ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ PostgreSQL๊ณผ ๋ฐ์ดํ„ฐ ๋ฐฑ์—…? ์ด ์ฃผ์ œ๋Š” ์ด๋ฏธ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์—ฐ๊ตฌ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Yandex์—์„œ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋ฐœ์ƒํ•˜๋Š”์ง€, ์ฆ‰ ์—„์ฒญ๋‚œ ์–‘์˜ ๋ฐ์ดํ„ฐ, ์••์ถ•์˜ ํ•„์š”์„ฑ, ์•”ํ˜ธํ™”, ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋ฐ ๋ฉ€ํ‹ฐ ์ฝ”์–ด CPU์˜ ๊ฐ€์žฅ ํšจ์œจ์ ์ธ ํ™œ์šฉ์„ ์•Œ๊ธฐ ์ „๊นŒ์ง€๋Š” ์ง€์‹์ด ๋ถˆ์™„์ „ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ๋ณด๋กœ๋”˜ Yandex๊ฐ€ ์ ๊ทน์ ์œผ๋กœ ๊ฐœ๋ฐœ ์ค‘์ด๋ฉฐ ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Postgres ๋ฐ MySQL์˜ ์ง€์†์ ์ธ ๋ณด๊ด€์„ ์œ„ํ•œ Go์˜ ์˜คํ”ˆ ์†Œ์Šค ์†”๋ฃจ์…˜์ธ WAL-G์˜ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ๋ธ”๋ก์€ ASR ๋ฐ TTS๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์•ฝ์–ด์ธ ์Œ์„ฑ ์ธ์‹ ๋ฐ ํ•ฉ์„ฑ ๊ธฐ์ˆ ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ ์Œ์„ฑ ๋„์šฐ๋ฏธ๋ฅผ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ ์Œ์„ฑ ๋น„์„œ๊ฐ€ ์ธ๊ธฐ์˜ ์ •์ ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค ์ค‘ ํ•˜๋‚˜์— ๋Œ€ํ•œ ์ž์‹ ์˜ ๊ธฐ์ˆ ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์ง€๋งŒ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ธฐ์ˆ ์„ ์‹ค์ œ๋กœ ์ ์šฉํ•œ ์‚ฌ๋ก€๋Š” ๊ฑฐ์˜ ์•Œ๋ ค์ ธ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋น„ํƒˆ๋ฆฌ ์„ธ๋จ€ํ‚จ ์œผ๋กœ ์ œํŠธ์Šคํƒ€์ผ ์ฃผ์š” ์กฐ์ˆ˜์˜ ๋Šฅ๋ ฅ๊ณผ ํ•œ๊ณ„์— ๋Œ€ํ•œ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ฐˆํ€ด๊ฐ€ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์˜์›…์ ์œผ๋กœ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์ „์ฒด ์ด์•ผ๊ธฐ๋ฅผ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ Vitaly๋Š” Yandex.Station์„ ๊ธฐ๋ฐ˜์œผ๋กœ '์Šค๋งˆํŠธ ๋ฏธํŒ…'์„ ๊ตฌ์ถ•ํ•œ ๊ฒฝํ—˜์— ๋Œ€ํ•ด์„œ๋„ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ ์„ ๋„์ ์ธ ๊ธฐ์—…์€ ์Œ์„ฑ ๋„์šฐ๋ฏธ ๊ตฌ์ถ•์„ ์œ„ํ•œ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์™ธ๋ถ€ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์•ˆ์— ์œค๊ณฝ ๊ฒฝ๋กœ๊ฐ€ ๊นŒ๋‹ค๋กœ์› ์ง€๋งŒ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น…ํ„ฐ ์ฝ˜๋„๋ฐ” ะธ ์Šค๋ฒ ํ‹€๋ผ๋‚˜ ์ž๋น„์•Œ๋กœ๋ฐ” ์ง€์›์„ ์ž๋™ํ™”ํ•  ๋•Œ ๋กœ์ปฌ ์Œ์„ฑ ์ธ์‹ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ  ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์— ์ง‘์ค‘ํ•ด์•ผ ํ•˜๋ฉฐ ๋ฌด์—‡์„ ํฌ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ณด๊ณ ์„œ์—๋Š” ๋˜ ์–ด๋–ค ๋‚ด์šฉ์ด ํฌํ•จ๋˜๋‚˜์š”?

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ ์ตœ๊ทผ Redis 5 - ์ŠคํŠธ๋ฆผ์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ธ๊ธฐ ์žˆ๋Š” ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค Kafka์˜ ์•„์ด๋””์–ด๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ๋‹ˆ์Šค ์นดํƒ€์˜ˆํ”„(Tinkoff.ru) ์ŠคํŠธ๋ฆผ์ด ํ•„์š”ํ•œ ์ด์œ , ์ผ๋ฐ˜ ๋Œ€๊ธฐ์—ด๊ณผ์˜ ์ฐจ์ด์ , Kafka ์ŠคํŠธ๋ฆผ๊ณผ Redis ์ŠคํŠธ๋ฆผ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜๊ณ  ์—ฌ๋Ÿฌ๋ถ„์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ํ•จ์ •์— ๋Œ€ํ•ด์„œ๋„ ์•Œ๋ ค์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ ์ˆ˜์„ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด Konture Grigory Koshelev ํ•˜๋ฃจ์— ํ…Œ๋ผ๋ฐ”์ดํŠธ๊ธ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋กœ๊ทธ์™€ ์ง€ํ‘œ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ , ์‚ถ์„ ๋” ์ข‹๊ฒŒ ๋งŒ๋“ค์–ด ์ค„ ์ƒˆ๋กœ์šด ์˜คํ”ˆ ์†Œ์Šค ์†”๋ฃจ์…˜์— ๋Œ€ํ•ด์„œ๋„ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ Kazan .Net ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋ฆฌ๋” ์œ ๋ฆฌ ์ผ€๋ฅด๋น„์ธ ์ฝ”ํ”„ (Ak Bars ๋””์ง€ํ„ธ ๊ธฐ์ˆ )์€ .Net Framework์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋„๋ฉ”์ธ์ด ํ•„์š”ํ•œ ์ด์œ ๋ฅผ ์ƒ๊ธฐ์‹œํ‚ค๊ณ , .Net Core์—์„œ ์ž‘์—…ํ•  ๋•Œ ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ๊ณผ ํ˜„์žฌ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๊ฐ•์—ฐ์ด ๋๋‚˜๋ฉด .NET Core๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋” ์ž˜ ์ดํ•ดํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์‚ฌ์ดํŠธ์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ํˆฌํ‘œ๋ฅผ ๋ฐ›์€ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ 2014๋…„์— ์กฐ์šฉํ•œ ํ˜๋ช…์ด ์ผ์–ด๋‚ฌ๊ณ , ๊ทธ ๋ฉ”์•„๋ฆฌ๊ฐ€ ์šฐ๋ฆฌ๋ฅผ ๋”ฐ๋ผ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ธํ”„๋ผ๋Š” ์™„์ „ํžˆ ๋ˆˆ์— ๋„์ง€ ์•Š๊ฒŒ ๋˜๋ฉฐ ๋” ์ด์ƒ ์ค‘์š”ํ•˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฐ€์ƒ ๋จธ์‹ ์ด๋‚˜ ์ปจํ…Œ์ด๋„ˆ์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ด๋ฏธ ๊ณผ๊ฑฐ์˜ ์ผ์ด์ง€๋งŒ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์•„์ด๋””์–ด์˜ ์ถ”๊ฐ€ ๊ฐœ๋ฐœ์ธ AWS Lambda(ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„์— ๋Œ€ํ•ด์„œ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•ฉ๋‹ˆ๋‹ค)์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž์‹ ์˜ ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์•…ํ•œ ํ™”์„ฑ์ธ ๋‹ˆ์ฝœ๋ผ์ด ์Šค๋ฒ ๋ฅด์น˜์ฝ”ํ”„ ์„œ๋ฒ„๋ฆฌ์Šค ์ž‘์—…์˜ ์‹ค์ œ์ ์ธ ์ธก๋ฉด์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ์•Œ๋ ค์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šด์ง€, ๋ฌธ์„œ์™€ ํŠœํ† ๋ฆฌ์–ผ์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€์ง€, ์ผ๋ฐ˜์ ์œผ๋กœ ํ—ˆ์šฉ๋˜๋Š” ํ‘œ์ค€์— ๋Œ€ํ•œ ์ง€์›์ด ์žˆ๋Š”์ง€, ๋กœ์ปฌ์—์„œ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋น„์šฉ์€ ์–ผ๋งˆ์ธ์ง€, ์–ธ์–ด๋Š” ๋ฌด์—‡์ธ์ง€ ๋“ฑ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์–ด๋–ค ์ž‘์—… ์Šคํƒ์ด ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ์ด ๋†’์€์ง€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ CTO Mastery.pro ์•ˆ๋“œ๋ ˆ์ด ํŽ˜ํŽ ๋กœํ”„ ๊ทธ์™€ ์ฐธ๊ฐ€์ž๋“ค์€ postgres, Patroni, consul, s3, Walg, ansible์— 3๊ฐœ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ๊ฐ„๋‹จํ•œ ๋‚ด๊ฒฐํ•จ์„ฑ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค๋ฅผ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค๊ฐ€ ๋๋‚˜๋ฉด ์ œ๊ณต๋œ Ansible ํ”Œ๋ ˆ์ด๋ถ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DUMP์˜ ๋ฐฑ์—”๋“œ ์„น์…˜: ์„œ๋ฒ„๋ฆฌ์Šค, Postgres ๋ฐ Go, .NET Core, GraphQL ๋“ฑ
์ž‘๋…„ ํšŒ์˜์˜ ๋ชจ๋“  ๋ณด๊ณ ์„œ๋Š” ๋‹ค์Œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. YouTube ์ฑ„๋„

๋ชจ๋“  ๋ณด๊ณ ์„œ ๋ฐ ๋“ฑ๋ก ์ดˆ๋ก - at ์ปจํผ๋Ÿฐ์Šค ์›น์‚ฌ์ดํŠธ.

๊ฐœ๋ฐœ์ž ์—ฌ๋Ÿฌ๋ถ„, 19์›” XNUMX์ผ DUMP์—์„œ ์—ฌ๋Ÿฌ๋ถ„์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

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