๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฑ… ๋ฆฌ๋ทฐ/๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ

[๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ] 1. ์‚ฌ์šฉ์ž ์ˆ˜์— ๋”ฐ๋ฅธ ๊ทœ๋ชจ ํ™•์žฅ์„ฑ

์ฝ์€ ๋‚ ์งœ : 2024.08.13
์ง€์€์ด : ์•Œ๋ ‰์Šค ์‰ฌ
์ถœํŒ์‚ฌ : ์ธ์‚ฌ์ดํŠธ

 

โœ”๏ธ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ

๐Ÿ”– ์‹œ์Šคํ…œ ๊ทœ๋ชจ ํ™•์žฅ ๋ฐฉ๋ฒ• ์ •๋ฆฌ

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

 

1. ๋‹จ์ผ ์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜

  1. ์‚ฌ์šฉ์ž ๋‹จ๋ง(์›น/์•ฑ)์—์„œ ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘์†
  2. DNS์— ๋„๋ฉ”์ธ์„ ์กฐํšŒํ•˜์—ฌ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜
  3. IP ์ฃผ์†Œ๋กœ HTTP ์š”์ฒญ
  4. HTML์ด๋‚˜ JSON ์‘๋‹ต

 

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

  • ์›น/๋ชจ๋ฐ”์ผ์˜ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•ด ๋‚˜๊ฐ„๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ด€๊ณ„ํ˜• / ๋น„๊ด€๊ณ„ํ˜• ์ค‘ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค.
    • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
      • ํ…Œ์ด๋ธ”, ์—ด, ์ปฌ๋Ÿผ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ณ , ํ…Œ์ด๋ธ” ์กฐ์ธ ๊ฐ€๋Šฅ
      • MySQL, Oracle, PostgreSQL ๋“ฑ
    • ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(NoSQL)
      • ํ…Œ์ด๋ธ” ์กฐ์ธ ๊ธฐ๋Šฅ์ด ์—†๋‹ค.
      • CouchDB, Neo4j, Cassandra, Amazon DynamoDB ๋“ฑ
      • NoSQL์€ ๋‹ค์‹œ ๋„ค ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
        • ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ
        • ๊ทธ๋ž˜ํ”„ ์ €์žฅ์†Œ
        • ์นผ๋Ÿผ ์ €์žฅ์†Œ
        • ๋ฌธ์„œ ์ €์žฅ์†Œ
    • ๋Œ€๋ถ€๋ถ„ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ ํ•ฉํ•˜๋‚˜, ๋‹ค์Œ์˜ ๊ฒฝ์šฐ NoSQL์„ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.
      • ์•„์ฃผ ๋‚ฎ์€ ์‘๋‹ต ์ง€์—ฐ์‹œ๊ฐ„์ด ์š”๊ตฌ๋  ๋•Œ
      • ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์ •ํ˜•์ด๋ผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ ๋•Œ
      • ๋ฐ์ดํ„ฐ๋ฅผ ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™” ํ•  ์ˆ˜ ์žˆ๊ธฐ๋งŒ ํ•˜๋ฉด ๋  ๋•Œ
      • ์•„์ฃผ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ

 

3. ์›น ๊ณ„์ธต์˜ ์ˆ˜์ง์  ๊ทœ๋ชจ ํ™•์žฅ vs ์ˆ˜ํ‰์  ๊ทœ๋ชจ ํ™•์žฅ

์ˆ˜์ง์  ๊ทœ๋ชจ ํ™•์žฅ(scale up)

  • ์„œ๋ฒ„์— ๊ณ ์‚ฌ์–‘ ์ž์›(๋” ์ข‹์€ CPU, ๋” ๋งŽ์€ RAM ๋“ฑ)์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ
  • ํŠธ๋ž˜ํ”ฝ ์–‘์ด ์ ์„ ๋•Œ ์ ํ•ฉํ•˜๋‹ค.
  • ์žฅ์  : ๋‹จ์ˆœํ•˜๋‹ค.
  • ๋‹จ์  : 
    • ๋‹จ์ผ ์„œ๋ฒ„์— ์ž์›์„ ์ฆ์„คํ•˜๋Š” ๋ฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.
    • ์žฅ์•  ๋ฐœ์ƒ์‹œ ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์žฅ์• ์— ๋Œ€ํ•œ ์ž๋™๋ณต๊ตฌ ๋ฐฉ์•ˆ์ด๋‚˜ ๋‹ค์ค‘ํ™” ๋ฐฉ์•ˆ์ด ํ•„์š”ํ•˜๋‹ค.

์ˆ˜ํ‰์  ๊ทœ๋ชจ ํ™•์žฅ(scale out)

  • ๋” ๋งŽ์€ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ
  • ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง€์›์— ์ข€ ๋” ์ ํ•ฉํ•œ ๋ฐฉ์‹์ด๋‹ค.
  • ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ํ•„์š”ํ•ด์ง„๋‹ค.

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์ง‘ํ•ฉ์— ์†ํ•œ ์›น ์„œ๋ฒ„๋“ค์—๊ฒŒ ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜๋ฅผ ๊ณ ๋ฅด๊ฒŒ ๋ถ„์‚ฐํ•˜๋Š” ์—ญํ• 
  • ์‚ฌ์šฉ์ž ๋‹จ๋ง์€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์˜ ๊ณต๊ฐœ(public) IP๋กœ ์ ‘์†ํ•˜๊ณ , ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋Š” ๋ณด์•ˆ์„ ์œ„ํ•ด ์„œ๋ฒ„์˜ ์‚ฌ์„ค(private) IP๋กœ ํ†ต์‹ ํ•œ๋‹ค.
  • ์„œ๋ฒ„1์ด ๋‹ค์šด๋˜๋ฉด ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์€ ์„œ๋ฒ„2๋กœ ์ „์†ก๋œ๋‹ค. โžก๏ธ ์žฅ์•  ์ž๋™๋ณต๊ตฌ & ๊ฐ€์šฉ์„ฑ ํ–ฅ์ƒ!

 

4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‹ค์ค‘ํ™” : master-slave ๊ตฌ์กฐ

  • ์›๋ณธ์€ ์ฃผ(master) ์„œ๋ฒ„์—, ์‚ฌ๋ณธ์€ ๋ถ€(slave) ์„œ๋ฒ„์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • ์“ฐ๊ธฐ ์—ฐ์‚ฐ(insert, delete, update)์€ ์ฃผ ์„œ๋ฒ„์—์„œ๋งŒ ์ง€์›ํ•œ๋‹ค.
  • ๋ถ€ ์„œ๋ฒ„์—์„œ๋Š” ์ฃผ ์„œ๋ฒ„์—์„œ ๊ทธ ์‚ฌ๋ณธ์„ ์ „๋‹ฌ๋ฐ›์œผ๋ฉฐ ์ฝ๊ธฐ ์—ฐ์‚ฐ(select)๋งŒ ์ง€์›ํ•œ๋‹ค.
  • ๋Œ€๋ถ€๋ถ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฝ๊ธฐ ์—ฐ์‚ฐ์˜ ๋น„์ค‘์ด ํ›จ์”ฌ ๋†’์•„์„œ ๋ถ€ ์„œ๋ฒ„์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋” ๋งŽ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‹ค์ค‘ํ™”์˜ ์žฅ์ 

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์งˆ์˜(query)๊ฐ€ ๋Š˜์–ด๋‚˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๊ฐ€ ํŒŒ๊ดด๋ผ๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์กด๋œ๋‹ค.
  • ์ง€์—ญ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์žฅ์†Œ์— ๋ณต์ œํ•˜์—ฌ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์™€์„œ ๊ณ„์† ์„œ๋น„์Šค๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ์ƒ๊ฐํ•ด๋ด์•ผ ํ•  ์ 

  • ๋ถ€ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋œ ๊ฒฝ์šฐ
    1. ๋ถ€ ์„œ๋ฒ„๊ฐ€ ํ•œ ๋Œ€๋ผ๋ฉด ์ฝ๊ธฐ ์—ฐ์‚ฐ์€ ์ผ์‹œ์ ์œผ๋กœ ์ฃผ ์„œ๋ฒ„๊ฐ€ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ฆ‰์‹œ ์ƒˆ๋กœ์šด slave ์„œ๋ฒ„ ์ถ”๊ฐ€
    2. ๋ถ€ ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ๋Œ€๋ผ๋ฉด ๋‹ค๋ฅธ ๋ถ€ ์„œ๋ฒ„๊ฐ€ ์ฝ๊ธฐ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ
  • ์ฃผ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋œ ๊ฒฝ์šฐ
    1. ๋ถ€ ์„œ๋ฒ„๊ฐ€ ํ•œ ๋Œ€๋ผ๋ฉด ํ•ด๋‹น ์„œ๋ฒ„๊ฐ€ ์ƒˆ๋กœ์šด ์ฃผ ์„œ๋ฒ„๊ฐ€ ๋˜๊ณ  ์ผ์‹œ์ ์œผ๋กœ ๋ชจ๋“  ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ. ์ดํ›„ ์ƒˆ๋กœ์šด slave ์„œ๋ฒ„ ์ถ”๊ฐ€
    2. ๋ถ€ ์„œ๋ฒ„์— ๋ณด๊ด€๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ตœ์‹  ์ƒํƒœ๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์—†๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ณต๊ตฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋Œ๋ ค์„œ ์ถ”๊ฐ€

 

5. ์บ์‹ฑ

  • ์บ์‹œ๋Š” ๊ฐ’๋น„์‹ผ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ ๋˜๋Š” ์ž์ฃผ ์ฐธ์กฐ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์— ๋‘๊ณ , ์š”์ฒญ์ด ๋ณด๋‹ค ๋นจ๋ฆฌ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ €์žฅ์†Œ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ  ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, ์บ์‹œ ๊ณ„์ธต์„ ๋”ฐ๋กœ ๋‘๋ฉด ์ด๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ๊ธฐ ์ฃผ๋„ํ˜• ์บ์‹œ ์ „๋žต(read-through caching strategy)
    1. ์›น์„œ๋ฒ„๊ฐ€ ์บ์‹œ์— ์‘๋‹ต์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ๋ณด๊ณ  ์žˆ์œผ๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜ํ•ฉ
    2. ์—†์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฐพ์•„์„œ ์บ์‹œ์— ์ €์žฅํ•œ ๋’ค ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜

์บ์‹œ ์‚ฌ์šฉ์‹œ ์œ ์˜ํ•  ์ 

  • ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ์€ ์ž์ฃผ ์ผ์–ด๋‚˜์ง€ ์•Š์ง€๋งŒ ์ฐธ์กฐ๋Š” ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ผ์–ด๋‚  ๋•Œ ๊ณ ๋ คํ•ด๋ณผ ๋งŒ ํ•˜๋‹ค.
  • ์˜์†์ ์œผ๋กœ ๋ณด๊ด€ํ•  ๋ฐ์ดํ„ฐ๋Š” ์บ์‹œ์— ๋‘๋ฉด ์•ˆ ๋œ๋‹ค.
  • ๋„ˆ๋ฌด ์งง์ง€๋„ ๊ธธ์ง€๋„ ์•Š์€ ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ๋‘์–ด์•ผ ํ•œ๋‹ค.
  • ์ €์žฅ์†Œ์˜ ์›๋ณธ์„ ๊ฐฑ์‹ ํ•˜๋Š” ์—ฐ์‚ฐ๊ณผ ์บ์‹œ๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ์—ฐ์‚ฐ์ด ๋‹จ์ผ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ผ๊ด€์„ฑ์ด ๊นจ์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ์ง€์—ญ์— ๊ฑธ์ณ ์บ์‹œ ์„œ๋ฒ„๋ฅผ ๋ถ„์‚ฐ์‹œ์ผœ ๋‹จ์ผ ์žฅ์•  ์ง€์ ์ด ๋˜๋Š” ๊ฒƒ์„ ํ”ผํ•ด์•ผ ํ•œ๋‹ค.
  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ์ž์ฃผ ์บ์‹œ์—์„œ ๋ฐ€๋ ค๋‚˜๋ฒ„๋ ค ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. โžก๏ธ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๊ณผํ• ๋‹น
  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฝ‰ ์ฐจ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฉ์ถœํ•ด์•ผ ํ•  ๋•Œ ์ „๋žต์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.
    • LRU(Least Recently Used)
    • LFU(Least Frequently Used)
    • FIFO(First In First Out)

 

6. ์ฝ˜ํ…์ธ  ์ „์†ก ๋„คํŠธ์›Œํฌ(CDN)

  • CDN์€ ์ •์  ์ฝ˜ํ…์ธ ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐ ์“ฐ์ด๋Š” ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ์„œ๋ฒ„์˜ ๋„คํŠธ์›Œํฌ๋กœ, ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, CSS, JavaScript ํŒŒ์ผ ๋“ฑ์„ ์บ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

๋™์ž‘ ๊ณผ์ • 

  1. ์‚ฌ์šฉ์ž๊ฐ€ ์ •์  ์ฝ˜ํ…์ธ  ์ ‘๊ทผํ•˜๋ฉด CDN ์„œ๋น„์Šค ์‚ฌ์šฉ์ž๊ฐ€ ์ œ๊ณตํ•œ URL๋กœ ์š”์ฒญํ•œ๋‹ค.(์‚ฌ์šฉ์ž์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณณ์œผ๋กœ)
  2. ์ฝ˜ํ…์ธ ๊ฐ€ CDN ์„œ๋ฒ„์— ์—†์œผ๋ฉด ์›๋ณธ ์„œ๋ฒ„์— ์š”์ฒญํ•œ๋‹ค.
  3. ์›๋ณธ ์„œ๋ฒ„๊ฐ€ CDN ์„œ๋ฒ„์— ํŒŒ์ผ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์‘๋‹ต ํ—ค๋”์— *TTL ๊ฐ’์ด ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค. TTL์— ๋ช…์‹œ๋œ ์‹œ๊ฐ„์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ์บ์‹œ๋œ๋‹ค.
    * TTL: Time To Live. ํ•ด๋‹น ํŒŒ์ผ์ด ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์บ์‹œ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜๋Š” ๊ฐ’
  4. CDN ์„œ๋ฒ„๋Š” ํŒŒ์ผ์„ ์บ์‹œํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 

 

CDN ์‚ฌ์šฉ ์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ

  • CDN์€ ์ œ3์‚ฌ์—…์ž์— ์˜ํ•ด ์šด์˜๋˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก ์–‘์— ๋”ฐ๋ผ ๋น„์šฉ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ž์ฃผ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ˜ํ…์ธ ๋Š” ๋นผ๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.
  • ์ ์ ˆํ•œ ๋งŒ๋ฃŒ ์‹œํ•œ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • CDN ์žฅ์•  ๋ฐœ์ƒ ์‹œ ์ด๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ์›๋ณธ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋„๋ก ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
  • ์บ์‹œ๋œ ์ฝ˜ํ…์ธ  ๋ฌดํšจํ™” : ์บ์‹œ๋œ ๋ฐ์ดํ„ฐ์™€ ์›๋ณธ ์„œ๋ฒ„์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์•„์ง ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์€ ์ฝ˜ํ…์ธ ๋ผ๋„ CDN์—์„œ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    1. CDN ์„œ๋น„์Šค ์‚ฌ์—…์ž๊ฐ€ ์ œ๊ณตํ•˜๋Š” API๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    2. URL ๋งˆ์ง€๋ง‰์— ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์–ด ์ฝ˜ํ…์ธ ์˜ ๋‹ค๋ฅธ ๋ฒ„์ „์œผ๋กœ ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

 

7.  ๋ฌด์ƒํƒœ ์›น ๊ณ„์ธต

  • ์ƒํƒœ ์ •๋ณด(์„ธ์…˜ ๋“ฑ)๋ฅผ ์›น ๊ณ„์ธต์—์„œ ์ œ๊ฑฐํ•˜๊ณ , RDBMS๋‚˜ NoSQL, ์บ์‹œ ์‹œ์Šคํ…œ(Memcached, Redis)์— ๋ณด๊ด€ํ•ด์•ผ ํ•œ๋‹ค.
  • ์›น ์„œ๋ฒ„์—์„œ ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์€ ๊ฐ™์€ ์„œ๋ฒ„๋กœ๋งŒ ๋ณด๋‚ด์•ผ ํ•ด์„œ ์ž๋™ ๊ทœ๋ชจ ํ™•์žฅ์ด ์–ด๋ ค์›Œ์ง„๋‹ค.
  • ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ณต์œ  ์ €์žฅ์†Œ์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•˜์—ฌ ์›น์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

 

8. ๋ฐ์ดํ„ฐ์„ผํ„ฐ

  • ์žฅ์• ๊ฐ€ ์—†๋Š” ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ์ž๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ์ดํ„ฐ์„ผํ„ฐ๋กœ ์•ˆ๋‚ด๋œ๋‹ค. โžก๏ธ ์ง€๋ฆฌ์  ๋ผ์šฐํŒ…
  • ๋ฐ์ดํ„ฐ์„ผํ„ฐ ์ค‘ ํ•˜๋‚˜์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์€ ์žฅ์• ๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ์„ผํ„ฐ๋กœ ์ „์†ก๋œ๋‹ค.

๊ธฐ์ˆ ์  ๋‚œ์ œ

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

 

9. ๋ฉ”์‹œ์ง€ ํ

  • ๋ฉ”์‹œ์ง€์˜ ๋ฌด์†์‹ค(๋ฉ”์„ธ์ง€ํ์— ๋ณด๊ด€๋œ ๋ฉ”์‹œ์ง€๋Š” ์†Œ๋น„๊ฐ€ ๊บผ๋‚ผ ๋•Œ๊นŒ์ง€ ์•ˆ์ „ํžˆ ๋ณด๊ด€๋จ)์„ ๋ณด์žฅํ•˜๋Š”, ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ์ง€์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ

๋™์ž‘ ๋ฐฉ์‹

  1. ์ƒ์‚ฐ์ž(๋˜๋Š” ๋ฐœํ–‰์ž)๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฉ”์‹œ์ง€ ํ์— ๋ฐœํ–‰
  2. ์†Œ๋น„์ž(๋˜๋Š” ๊ตฌ๋…์ž)๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„ ๊ทธ์— ๋งž๋Š” ๋™์ž‘ ์ˆ˜ํ–‰

์‚ฌ์šฉ ์˜ˆ์‹œ

  • ์‚ฌ์ง„ ๋ณด์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ : ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ง„ ๋ณด์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”์‹œ์ง€ ํ์— ๋„ฃ๊ณ  ๋น„๋™๊ธฐ์ ์œผ๋กœ ์™„๋ฃŒ

 

10. ๋กœ๊ทธ, ๋ฉ”ํŠธ๋ฆญ ๊ทธ๋ฆฌ๊ณ  ์ž๋™ํ™”

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

 

11. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ทœ๋ชจ ํ™•์žฅ

์ˆ˜์ง์  ํ™•์žฅ(scale up)

  • ๊ธฐ์กด ์„œ๋ฒ„์— ๋” ๋งŽ์€ ๊ณ ์„ฑ๋Šฅ์˜ ์ž์›(CPU, RAM, ๋””์Šคํฌ ๋“ฑ) ์ฆ์„ค
  • ํ•œ๊ณ„
    • ์„œ๋ฒ„ ํ•˜๋“œ์›จ์–ด์˜ ํ•œ๊ณ„๋กœ ๋ฌดํ•œ ์ฆ์„ค์€ ๋ถˆ๊ฐ€๋Šฅ
    • ๋‹จ์ผ ์žฅ์•  ์ง€์ ์œผ๋กœ ์ธํ•œ ์œ„ํ—˜์„ฑ์ด ์žˆ๋‹ค.
    • ์ž์› ์ฆ์„ค์— ๋Œ€ํ•œ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

์ˆ˜ํ‰์  ํ™•์žฅ(sharding)

  • ๋” ๋งŽ์€ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒค๋“œ(shard)๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.
  • ๋ชจ๋“  ์ƒค๋“œ๋Š” ๊ฐ™์€ ์Šคํ‚ค๋งˆ๋ฅผ ์“ฐ์ง€๋งŒ, ์ƒค๋“œ์— ๋ณด๊ด€๋˜๋Š” ๋ฐ์ดํ„ฐ ์‚ฌ์ด์—๋Š” ์ค‘๋ณต์ด ์—†๋‹ค.
  • ์ƒค๋”ฉ ์ „๋žต ๊ตฌํ˜„์‹œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ƒค๋”ฉ ํ‚ค๋ฅผ ์–ด๋–ป๊ฒŒ ์ •ํ•˜๋А๋ƒ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ๋ฅด๊ฒŒ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒŒ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, user ๋ฐ์ดํ„ฐ๋ฅผ user_id % 4๋ฅผ ํ•ด์‹œ ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด๊ด€๋˜๋Š” ์ƒค๋“œ๋ฅผ ์ •ํ•œ๋‹ค.

์ƒค๋”ฉ ๋„์ž…์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ 

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

 

โœ”๏ธ ์˜ค๋Š˜ ์ฝ์€ ์†Œ๊ฐ

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

 

โœ”๏ธ ๊ถ๊ธˆํ•œ ๋‚ด์šฉ & ์ž˜ ์ดํ•ด๋˜์ง€ ์•Š๋Š” ๋‚ด์šฉ

๋ฐ์ดํ„ฐ ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”

๋ฐ์ดํ„ฐ ์ง๋ ฌํ™”(serialization)

  • ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •
  • ์ง๋ ฌํ™”์˜ ๊ฒฐ๊ณผ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋˜๋Š” JSON, XML ํ˜•์‹์˜ ํ…์ŠคํŠธ
  • e.g. JavaScript์˜ JSON.stringfy()

๋ฐ์ดํ„ฐ ์—ญ์ง๋ ฌํ™”(deserialization)

  • ์ง๋ ฌํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์›๋ž˜์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋‚˜ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •
  • e.g. JavaScript์˜ JSON.parse()

 

๋ฉ”์‹œ์ง€ ํ ์‚ฌ์šฉ ์‚ฌ๋ก€

์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?

  • ์ฆ‰์‹œ ์ฒ˜๋ฆฌ๋˜๊ธฐ ์–ด๋ ค์šด ์š”์ฒญ์— ๋Œ€ํ•ด ์‘๋‹ต์„ ๋จผ์ € ๋ณด๋‚ด์ฃผ๊ณ  ์ž‘์—…์„ ๋‚˜์ค‘์— ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ์–ด๋А์ •๋„ ์‘๋‹ต ์ง€์—ฐ์ด ํ—ˆ์šฉ๋˜๋Š” ๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ
  • ์‹œ์Šคํ…œ์—์„œ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
  • ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๋™์‹œ์— ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

 

์‚ฌ์šฉ ์‚ฌ๋ก€

  • ์ €์žฅ์†Œ์— ๋Œ€์šฉํ–ฅ ํŒŒ์ผ ์—…๋กœ๋“œ ํ›„ ํŒŒ์ผ ๋ณ€ํ™˜์ด๋‚˜ ์ตœ์ ํ™” ์ž‘์—…
  • ํ‘ธ์‹œ ์•Œ๋ฆผ์ด๋‚˜ ์ด๋ฉ”์ผ ์ „์†ก(๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์ „์†ก, ์ƒˆ๋กœ์šด ๊ณ„์ • ์ƒ์„ฑ ๋“ฑ)
  • ์ „์ž์ƒ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ์—์„œ ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ, ์žฌ๊ณ  ๊ด€๋ฆฌ, ๊ฒฐ์ œ ์ฒ˜๋ฆฌ ๋“ฑ์˜ ์ž‘์—…์„ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌ
  • ์„ ์ฐฉ์ˆœ ์ด๋ฒคํŠธ
  • ์ฟ ํฐ ๋ฐœ๊ธ‰

 

๊ตฌํ˜„ ๊ธฐ์ˆ 

  • RabbitMQ
  • Apache Kafka
  • AWS SQS(Simple Queue Service)

 

โœ”๏ธ ์ฐธ๊ณ 

๋„์„œ - ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ 1์žฅ 

๋ฉ”์‹œ์ง€ ํ ์‹œ์Šคํ…œ์˜ ์ดํ•ด์™€ ํ™œ์šฉ

๋ฉ”์‹œ์ง€ ํ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!

์šฐ๋ฆฌ ํŒ€์€ ์นดํ”„์นด๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„๊นŒ

message queue๋ฅผ ํ™œ์šฉํ•ด๋ณด์ž