Design Video Streaming Service

์š”๊ตฌ์‚ฌํ•ญ

  • ๋น ๋ฅธ ๋น„๋””์˜ค ์—…๋กœ๋“œ

  • ์›ํ™œํ•œ ์ŠคํŠธ๋ฆฌ๋ฐ ํ™˜๊ฒฝ

  • ๋ชจ๋ฐ”์ผ ์•ฑ / ์›น / TV ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ์ง€์›

  • ๋‹ค๊ตญ์–ด ์ง€์›

  • ์žฌ์ƒ ํ’ˆ์งˆ ์„ ํƒ ๊ฐ€๋Šฅ

  • ๋น„๋””์˜ค ์ข…๋ฅ˜ ๋ฐ ํ•ด์ƒ๋„ ๋Œ€๋ถ€๋ถ„ ์ง€์›

  • ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋กœ๋“œํ•œ ๋น„๋””์˜ค๋Š” 1GB ์ดํ•˜

  • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํ™œ์šฉ ๊ฐ€๋Šฅ

  • ๋†’์€ ๊ฐ€์šฉ์„ฑ / ๊ทœ๋ชจ ํ™•์žฅ์„ฑ / ์•ˆ์ •์„ฑ

  • DAU 500๋งŒ๋ช…

  • ํ‰๊ท  ์ด์šฉ ์‹œ๊ฐ„ 30๋ถ„ / ํ•˜๋ฃจ ํ‰๊ท  5๊ฐœ ๋น„๋””์˜ค ์‹œ์ฒญ

  • 10%์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋ฃจ์— 1 ๋น„๋””์˜ค ์—…๋กœ๋“œ / ๋น„๋””์˜ค ํ‰๊ท  ํฌ๊ธฐ 300MB

๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์œ„์™€ ๊ฐ™์€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•ด์•ผํ•  ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์ด ์ถ”์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋งค์ผ ์ƒˆ๋กœ ์š”๊ตฌ๋˜๋Š” ์ €์žฅ ์šฉ๋Ÿ‰: 500๋งŒ * 10% * 300MB = 150TB

  • CDN ๋น„์šฉ: ๊ฐ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด์˜ CDN ๋น„์šฉ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„(AWS CloudFront์˜ ๊ฒฝ์šฐ 500๋งŒ * 5๊ฐœ * 0.3GB * 0.02$ = 150,000$)

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ CDN์„ ํ†ตํ•ด ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ๋น„์šฉ์ด ๋งค์šฐ ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.

์‹œ์Šคํ…œ ์„ค๊ณ„

๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํฌ๊ฒŒ ๋‘ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • CDN: ๋น„๋””์˜ค๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ €์žฅ์†Œ

  • API ์„œ๋ฒ„: ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„(ํ”ผ๋“œ ์ถ”์ฒœ / ๋น„๋””์˜ค ์—…๋กœ๋“œ URL ์ƒ์„ฑ / ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์บ์‹œ ๊ฐฑ์‹  / ์‚ฌ์šฉ์ž ์ธ์ฆ ๋“ฑ)

๋˜ํ•œ ํ•ด๋‹น ์„œ๋น„์Šค์—์„œ ํ•ต์‹ฌ์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ๋น„๋””์˜ค ์—…๋กœ๋“œ / ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ์œผ๋กœ, ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋žต์ ์ธ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋น„๋””์˜ค ์—…๋กœ๋“œ

  • API ์„œ๋ฒ„: ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์š”์ฒญ ์ฒ˜๋ฆฌ

  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: ๋น„๋””์˜ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ

  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์บ์‹œ: ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์บ์‹ฑ

  • ์›๋ณธ ์ €์žฅ์†Œ: ์›๋ณธ ๋น„๋””์˜ค๋ฅผ ์ €์žฅํ•  ๋Œ€ํ˜• ์ด์ง„ ํŒŒ์ผ(BLOB, Binary Large Object Storage) ์ €์žฅ์†Œ

  • ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์„œ๋ฒ„: ๋น„๋””์˜ค ํฌ๋งท์„ ๋ณ€ํ™˜ํ•˜๋Š” ์ธ์ฝ”๋”ฉ ์„œ๋ฒ„, ๋‹จ๋ง์ด๋‚˜ ๋Œ€์—ญํญ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์ตœ์ ์˜ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜

  • ํŠธ๋žœ์Šค์ฝ”๋”ฉ ๋น„๋””์˜ค ์ €์žฅ์†Œ: ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด ์™„๋ฃŒ๋œ ๋น„๋””์˜ค๋ฅผ ์ €์žฅํ•˜๋Š” BLOB ์ €์žฅ์†Œ

  • CDN: ๋น„๋””์˜ค ์บ์‹ฑ ๋ฐ ์ŠคํŠธ๋ฆฌ๋ฐ

  • ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์™„๋ฃŒ ํ: ๋น„๋””์˜ค ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์™„๋ฃŒ ์ด๋ฒคํŠธ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ๋ฉ”์‹œ์ง€ ํ

  • ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์™„๋ฃŒ ํ•ธ๋“ค๋Ÿฌ: ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์™„๋ฃŒ ํ์—์„œ ์ด๋ฒคํŠธ ๊บผ๋‚ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์บ์‹œ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ์ž‘์—… ์„œ๋ฒ„

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

  • ๋น„๋””์˜ค ์—…๋กœ๋“œ

    1. ๋น„๋””์˜ค๋ฅผ ์›๋ณธ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ

    2. ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์„œ๋ฒ„๋Š” ์›๋ณธ ์ €์žฅ์†Œ์—์„œ ์—…๋กœ๋“œ ๋œ ๋น„๋””์˜ค๋ฅผ ๊ฐ€์ ธ์™€ ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์‹œ์ž‘

    3. ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์™„๋ฃŒ ํ›„ ์•„๋ž˜ ๋‘ ์ž‘์—…์„ ๋ณ‘๋ ฌ๋กœ ์ง„ํ–‰

      • ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด ์™„๋ฃŒ๋œ ๋น„๋””์˜ค๋ฅผ ํŠธ๋žœ์Šค์ฝ”๋”ฉ ๋น„๋””์˜ค ์ €์žฅ์†Œ์— ์ €์žฅ -> CDN์— ์บ์‹ฑ

      • ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์™„๋ฃŒ ์ด๋ฒคํŠธ๋ฅผ ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์™„๋ฃŒ ํ์— ๋ณด๋ƒ„ -> ์™„๋ฃŒ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์บ์‹œ ๊ฐฑ์‹ 

    4. API ์„œ๋ฒ„์—์„œ ๋””๋ฐ”์ด์Šค์— ๋น„๋””์˜ค ์—…๋กœ๋“œ ์™„๋ฃŒ ์•Œ๋ฆผ ์ „์†ก

  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฐฑ์‹ 

    1. ์›๋ณธ ์ €์žฅ์†Œ์— ํŒŒ์ผ์ด ์—…๋กœ๋“œ๋˜๋Š” ๋™์•ˆ, ๋ณ‘๋ ฌ์ ์œผ๋กœ ๋น„๋””์˜ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ API ์„œ๋ฒ„์— ๊ฐฑ์‹  ์š”์ฒญ

    2. API ์„œ๋ฒ„๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ

๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ

๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ํ‘œ์ค€ํ™”๋œ ํ†ต์‹  ๋ฐฉ๋ฒ•(์ŠคํŠธ๋ฆฌ๋ฐ ํ”„๋กœํ† ์ฝœ)์ด ํ•„์š”ํ•œ๋ฐ, ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

  • MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)

  • Apple HLS(HTTP Live Streaming)

  • Microsoft Smooth Streaming

  • Adobe HTTP Dynamic Streaming

ํ”„๋กœํ† ์ฝœ๋งˆ๋‹ค ์ง€์›ํ•˜๋Š” ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ์ด ๋‹ค๋ฅด๊ณ  ํ”Œ๋ ˆ์ด์–ด๋„ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„ํ•  ๋• ์„œ๋น„์Šค์— ๋งž๋Š” ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค.

๋น„๋””์˜ค ํŠธ๋žœ์Šค์ฝ”๋”ฉ

๋น„๋””์˜ค๊ฐ€ ์žฌ์ƒ๋˜๊ธฐ ์œ„ํ•ด์„  ํ˜ธํ™˜๋˜๋Š” ๋น„ํŠธ๋ ˆ์ดํŠธ์™€ ํฌ๋งท์ด์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์œ„ํ•ด ๋น„๋””์˜ค ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด ํ•„์š”ํ•˜๋‹ค.

  • ๊ฐ€๊ณต๋˜์ง€ ์•Š์€ ์›๋ณธ ๋น„๋””์˜ค๋Š” ๋†’์€ ์šฉ๋Ÿ‰์„ ์ฐจ์ง€

  • ์ƒ๋‹น์ˆ˜ ๋‹จ๋ง๊ณผ ๋ธŒ๋ผ์šฐ์ €๋Š” ํŠน์ • ์ข…๋ฅ˜์˜ ๋น„๋””์˜ค ํฌ๋งท๋งŒ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•˜๋‚˜์˜ ๋น„๋””์˜ค๋ฅผ ์—ฌ๋Ÿฌ ํฌ๋งท์œผ๋กœ ์ธ์ฝ”๋”ฉ ํ•„์š”

  • ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์— ๋”ฐ๋ฅธ ๋น„๋””์˜ค ํ’ˆ์งˆ ์ œ๊ณต ํ•„์š”

  • ๋น„๋””์˜ค ๋Š๊น€ ํ˜„์ƒ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ๋น„๋””์˜ค ํ™”์งˆ ์ž๋™ ์กฐ์ ˆ ํ•„์š”

์ธ์ฝ”๋”ฉ ํฌ๋งท์€ ์•„์ฃผ ๋‹ค์–‘ํ•œ๋ฐ, ๋Œ€๋ถ€๋ถ„ ๋‹ค์Œ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  • ์ปจํ…Œ์ด๋„ˆ: ๋น„๋””์˜ค ํŒŒ์ผ / ์˜ค๋””์˜ค / ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ๋ฐ”๊ตฌ๋‹ˆ ์—ญํ• 

  • ์ฝ”๋ฑ: ๋น„๋””์˜ค ํ™”์งˆ์„ ๋ณด์กดํ•˜๋ฉด์„œ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ค„์ผ ๋ชฉ์ ์œผ๋กœ ๊ณ ์•ˆ๋œ ์••์ถ• ๋ฐ ์••์ถ• ํ•ด์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋น„๋””์˜ค ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์•„ํ‚คํ…์ฒ˜

๋น„๋””์˜ค ํŠธ๋žœ์Šค์ฝ”๋”ฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์„ฏ ๊ฐœ์˜ ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  • ์ „์ฒ˜๋ฆฌ๊ธฐ: ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „ ์•„๋ž˜ ์„ธ ๊ฐ€์ง€ ์ž‘์—… ์ˆ˜ํ–‰

    • ๋น„๋””์˜ค ๋ถ„ํ• : ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์„ GOP ๋‹จ์œ„๋กœ ๋น„๋””์˜ค ๋ถ„ํ• 

    • DAG ์ƒ์„ฑ: ์‹คํ–‰ํ•  ์ž‘์—…์„ DAG(Directed Acyclic Graph)๋กœ ์ƒ์„ฑ

    • ๋ฐ์ดํ„ฐ ์บ์‹œ: GOP์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ ์ €์žฅ์†Œ์— ๋ณด๊ด€ํ•˜์—ฌ ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ์‹คํŒจ ์‹œ ๋ณด๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์žฌ์‹œ๋„

  • DAG ์Šค์ผ€์ค„๋Ÿฌ: DAG๋ฅผ ๋ช‡ ๊ฐœ์˜ ๋‹จ๊ณ„๋กœ ๋ถ„ํ• ํ•œ ๋’ค ๊ฐ๊ฐ์„ ์ž์› ๊ด€๋ฆฌ์ž์˜ ์ž‘์—… ํ์— ๋„ฃ์–ด ์ž‘์—… ์ˆ˜ํ–‰

  • ์ž์› ๊ด€๋ฆฌ์ž: ํšจ๊ณผ์ ์ธ ์ž์› ๋ฐฐ๋ถ„์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•„๋ž˜ ์„ธ๊ฐœ์˜ ํ์™€ ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์ด์šฉํ•ด ์ž‘์—…์„ ๊ด€๋ฆฌ

    • ์ž‘์—… ํ: ์‹คํ–‰ํ•  ์ž‘์—…์ด ๋ณด๊ด€๋˜์–ด ์žˆ๋Š” ์šฐ์„ ์ˆœ์œ„ ํ

    • ์ž‘์—… ์„œ๋ฒ„ ํ: ์ž‘์—… ์„œ๋ฒ„์˜ ๊ฐ€์šฉ ์ƒํƒœ ์ •๋ณด๊ฐ€ ๋ณด๊ด€๋˜์–ด ์žˆ๋Š” ์šฐ์„ ์ˆœ์œ„ ํ

    • ์‹คํ–‰ ํ: ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—… ๋ฐ ์ž‘์—… ์„œ๋ฒ„ ์ •๋ณด๊ณผ ๋ณด๊ด€๋˜์–ด ์žˆ๋Š” ํ

    • ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ: ์ตœ์ ์˜ ์ž‘์—…/์„œ๋ฒ„ ์กฐํ•ฉ์„ ๊ณจ๋ผ, ํ•ด๋‹น ์ž‘์—… ์„œ๋ฒ„์— ์ž‘์—… ํ• ๋‹น

    • ์ž‘์—… ์„ ์ • -> ์ž‘์—… ์„œ๋ฒ„ ์„ ์ • -> ์ž‘์—… ์„œ๋ฒ„์— ์ž‘์—… ํ• ๋‹น -> ํ•ด๋‹น ์ž‘์—…์ด ์–ด๋–ค ์„œ๋ฒ„์— ํ• ๋‹น๋˜์—ˆ๋Š”์ง€ ์‹คํ–‰ ํ์— ๋ณด๊ด€ -> ์ž‘์—… ์™„๋ฃŒ ์‹œ ์‹คํ–‰ ํ์—์„œ ์ œ๊ฑฐ

  • ์ž‘์—… ์‹คํ–‰ ์„œ๋ฒ„: DAG์— ์ •์˜๋œ ์ž‘์—… ์ˆ˜ํ–‰

  • ์ž„์‹œ ์ €์žฅ์†Œ: ์ž„์‹œ ์ €์žฅ์†Œ์— ๋ณด๊ด€๋œ ๋ฐ์ดํ„ฐ๋Š” ๋น„๋””์˜ค ํ”„๋กœ์„ธ์‹ฑ ์‹คํŒจ ์‹œ ์žฌ์‹œ๋„์— ์‚ฌ์šฉ, ์™„๋ฃŒ ํ›„์—๋Š” ์‚ญ์ œ

๋‹ค์„ฏ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ตํ•œ ๋น„๋””์˜ค ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด ์ˆ˜ํ–‰๋˜๋Š” ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์ „์ฒ˜๋ฆฌ๊ธฐ๋Š” ๋น„๋””์˜ค๋ฅผ ๋ถ„ํ• ํ•˜๊ณ  DAG๋ฅผ ์ƒ์„ฑํ•œ ๋’ค, ๋ฐ์ดํ„ฐ ์บ์‹œ์— ๋ณด๊ด€

  2. DAG ์Šค์ผ€์ค„๋Ÿฌ๋Š” DAG๋ฅผ ๋‹จ๊ณ„๋กœ ๋ถ„ํ• ํ•œ ๋’ค ๊ฐ๊ฐ์„ ์ž์› ๊ด€๋ฆฌ์ž์˜ ์ž‘์—… ํ์— ์ „๋‹ฌ

  3. ์ž์› ๊ด€๋ฆฌ์ž๋Š” ์ž‘์—… ํ์—์„œ ์ž‘์—…์„ ์„ ์ •ํ•ด ์ž‘์—… ์„œ๋ฒ„ ํ์— ๋„ฃ๊ณ , ์ž‘์—… ์„œ๋ฒ„๋ฅผ ์„ ์ •ํ•ด ์ž‘์—…์„ ํ• ๋‹น

  4. ์ž‘์—… ์‹คํ–‰ ์„œ๋ฒ„๋Š” ํ• ๋‹น๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰

  5. ์ž‘์—… ์™„๋ฃŒ ํ›„ ์ž„์‹œ ์ €์žฅ์†Œ์— ๋ณด๊ด€๋œ ๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋ฐ ์‹คํ–‰ ํ์—์„œ ์ œ๊ฑฐ

์‹œ์Šคํ…œ ์ตœ์ ํ™”

์†๋„ ์ตœ์ ํ™”

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

  • ๋น„๋””์˜ค ๋ณ‘๋ ฌ ์—…๋กœ๋“œ: ํ•˜๋‚˜์˜ ๋น„๋””์˜ค์—์„œ ๋ถ„ํ• ๋œ ์ž‘์€ GOP๋ฅผ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์—…๋กœ๋“œ

  • ์—…๋กœ๋“œ ์„ผํ„ฐ: ์‚ฌ์šฉ์ž์™€ ๊ฐ€๊นŒ์šด ์—…๋กœ๋“œ ์„ผํ„ฐ๋ฅผ ์„ ํƒํ•ด ๋น ๋ฅธ ์—…๋กœ๋“œ ์†๋„ ๋ณด์žฅ

  • ๋ชจ๋“  ์ ˆ์ฐจ ๋ณ‘๋ ฌํ™”: ๊ธฐ์กด ์ ˆ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋˜ ์ž‘์—…(์›๋ณธ ์ €์žฅ -> ํŠธ๋žœ์Šค์ฝ”๋”ฉ -> ์ฒ˜๋ฆฌ๋œ ๋น„๋””์˜ค ์ €์žฅ -> CDN ์บ์‹ฑ)์„ ๋ฉ”์‹œ์ง€ ํ๋ฅผ ํ†ตํ•ด ๋ณ‘๋ ฌํ™” ๋ฐ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถค

    • ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์ˆ˜ํ–‰ ์‹œ, ๋‹ค์šด๋กœ๋“œ ์ž‘์—…์„ ๋ชจ๋‘ ๊ธฐ๋‹ค๋ฆด ํ•„์š” ์—†์ด ๋ฉ”์‹œ์ง€ ํ์— ๋ณด๊ด€๋œ ์ด๋ฒคํŠธ ๊ฐ๊ฐ์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

์•ˆ์ •์„ฑ ์ตœ์ ํ™”

๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Pre-Signed URL: ๋น„๋””์˜ค ์—…๋กœ๋“œ URL์„ ์ƒ์„ฑํ•  ๋•Œ, ํ—ˆ๊ฐ€ ๋ฐ›์€ ์‚ฌ์šฉ์ž๋งŒ ์˜ฌ๋ฐ”๋ฅธ ์ €์žฅ์†Œ์— ๋น„๋””์˜ค๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ์‚ฌ์ „์— ์„œ๋ช…๋œ URL์„ ์ œ๊ณต

    1. ํด๋ผ์ด์–ธํŠธ๋Š” API ์„œ๋ฒ„์— ๋น„๋””์˜ค ์—…๋กœ๋“œ ์š”์ฒญํ•˜์—ฌ Pre-Signed URL์„ ๋ฐ›์Œ

    2. ํด๋ผ์ด์–ธํŠธ๋Š” Pre-Signed URL์— ๋น„๋””์˜ค ์—…๋กœ๋“œ

  • ๋น„๋””์˜ค ๋ณดํ˜ธ: ๋””์ง€ํ„ธ ์ €์ž‘๊ถŒ ๊ด€๋ฆฌ / AES ์•”ํ˜ธํ™” / ์›Œํ„ฐ๋งˆํฌ ๋“ฑ์„ ์ด์šฉํ•ด ๋น„๋””์˜ค์˜ ๋ฌด๋‹จ ๋ณต์‚ฌ ๋ฐฉ์ง€

๋น„์šฉ ์ตœ์ ํ™”

๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค์—์„  ์ธ๊ธฐ ์žˆ๋Š” ๋น„๋””์˜ค๋Š” ๋นˆ๋ฒˆํžˆ ์žฌ์ƒ๋˜์ง€๋งŒ, ๋‚˜๋จธ์ง„ ๊ฑฐ์˜ ์žฌ์ƒ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋ฅผ ๊ณ ๋ คํ•ด ๋น„์šฉ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์ธ๊ธฐ ์žˆ๋Š” ๋น„๋””์˜ค๋งŒ CDN์— ์บ์‹ฑํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ํ•„์š”ํ•  ๋•Œ ํ˜น์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐ€์ ธ์™€ ์ŠคํŠธ๋ฆฌ๋ฐ

  • ํŠน์ • ์ง€์—ญ์—๋งŒ ์ธ๊ธฐ ์žˆ๋Š” ๋น„๋””์˜ค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ์ง€์—ญ์—๋งŒ CDN์— ์บ์‹ฑ

์ฐธ๊ณ ์ž๋ฃŒ

Last updated