Web์— ๋Œ€ํ•ด์„œ

RingKim1ยท2024๋…„ 4์›” 23์ผ

Web

๋ชฉ๋ก ๋ณด๊ธฐ
1/3
post-thumbnail

์›น ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ฌด์—‡์„ ํ•˜๋Š”๊ฐ€?
์›น ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ œ๊ณตํ•˜๋Š” ๊ฒƒ.

๐Ÿ“ŒWeb Service

  • ์›น์ด๋ผ๋Š” ๊ณต๊ฐ„์—์„œ ์ œ๊ณต๋˜๋Š” ์„œ๋น„์Šค
  • ๊ทธ ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„ / ์ œ์ž‘ / ๊ด€๋ฆฌ ํ•˜๋Š” ๊ฒƒ์ด ์›น(์„œ๋น„์Šค) ๊ฐœ๋ฐœ์ž
  • ํด๋ผ์ด์–ธํŠธ(Request) - ์„œ๋ฒ„(Response)

๋™์ž‘

  • ์›น ๊ณต๊ฐ„์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ, ๋ˆ„๊ตฌ๋“ ์ง€
  • ํ•ด๋‹น ์š”์ฒญ์„ ๋ฐ›๋Š” ์„œ๋ฒ„ = ์›น ์„œ๋ฒ„(์ปดํ“จํ„ฐ)
    • ์˜ˆ์‹œ) ํŒ๊ต ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค ์„ผํ„ฐ

์ „ ์„ธ๊ณ„์˜ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ ‘์†ํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›๊ณ  ์ ์ ˆํ•œ ์›น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์›น์„œ๋ฒ„๊ฐ€ ์กด์žฌ

์›น ์„œ๋น„์Šค๋ฅผ ์›ํ™œํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ

  • AWS, Vercel, Netlify ๋“ฑ
    • ์ปดํ“จํ„ฐ๋ฅผ ๋‹ค ์‚ด ์ˆ˜ ์—†์Œ.
    • ๊ณผ๊ธˆ์ œ
    • Auto scaling

      โ“ Auto scaling

      ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์˜ ๋Œ€ํ‘œ์ ์ธ ์žฅ์  : ํ•„์š”์— ๋”ฐ๋ผ ์„œ๋น„์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ถ•์†Œํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ

      ๊ทธ์ค‘, ์˜คํ† ์Šค์ผ€์ผ๋ง์€ ํด๋ผ์šฐ๋“œ์˜ ์œ ์—ฐ์„ฑ์„ ๋‹๋ณด์ด๊ฒŒ ํ•˜๋Š” ํ•ต์‹ฌ๊ธฐ์ˆ ๋กœ CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ๊ณผ ๊ฐ™์€ ์‹œ์Šคํ…œ ์ž์›๋“ค์˜ ๋ฉ”ํŠธ๋ฆญ(Metric) ๊ฐ’์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์„œ๋ฒ„ ์‚ฌ์ด์ฆˆ๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ ˆ ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋งํ•œ๋‹ค.

      ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์„œ๋น„์Šค ๋ถ€ํ•˜์— ํšจ๊ณผ์ ์œผ๋กœ ๋Œ€์‘ํ•˜๊ณ , ์ตœ๋Œ€ํ•œ ์ €๋ ดํ•œ ๋น„์šฉ์œผ๋กœ ์•ˆ์ •์ ์ด๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ์„ ์œ ์ง€ ํ•  ์ˆ˜ ์žˆ์Œ.

      ์ถœ์ฒ˜: https://inpa.tistory.com/entry/AWS-๐Ÿ“š-EC2-์˜คํ† -์Šค์ผ€์ผ๋ง-ELB-๋กœ๋“œ-๋ฐธ๋Ÿฐ์„œ-๊ฐœ๋…-๊ตฌ์ถ•-์„ธํŒ…-๐Ÿ’ฏ-์ •๋ฆฌ


๐Ÿ“ŒClient & Server

ํด๋ผ์ด์–ธํŠธ

  • ์š”์ฒญํ•˜๋Š” ์ฃผ์ฒด
  • ๋ธŒ๋ผ์šฐ์ €๋ผ๋Š” ๋„๊ตฌ๋ฅผ ํ™œ์šฉ ์›น ์„œ๋ฒ„์— ์š”์ฒญ
  • ์š”์ฒญ์ž + ๋ธŒ๋ผ์šฐ์ € = ํด๋ผ์ด์–ธํŠธ

์„œ๋ฒ„

  • ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ํ›„์— ์‘๋‹ต์„ ์คŒ
  • ์„œ๋ฒ„(๋ผ๋Š” ์ปดํ“จํ„ฐ) ๋‚ด๋ถ€์—๋Š” ๋งŽ์€ ํ”„๋กœ๊ทธ๋žจ(์ฝ”๋“œํ™” ๋˜์–ด์žˆ๋Š”)์ด ์กด์žฌ
  • ๋งŽ์€ ๋ฐฉ์‹์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ๋Š” โ€œ์„œ๋ฒ„์˜ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์˜ ๋‚ด๋ถ€์— ์„ค๊ณ„๋œ ์š”์ฒญ์„ ์บ์น˜ํ•˜๋Š” ๋ถ€๋ถ„ โ†’
    ๊ฐ ์š”์ฒญ์— ๋”ฐ๋ฅธ ์„œ๋น„์Šค๋ฅผ ์‹ค์‹œ ๋ฐ ์‘๋‹ต์„ ์ œ๊ณตํ•˜๋Š” ๋ถ€๋ถ„โ€์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ

โš ๏ธ ์ฃผ์˜
์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” ์ƒ๋Œ€์ น์ธ ๊ฐœ๋…

๊ธฐ๋Šฅ

  1. API๊ธฐ๋Šฅ ์ œ๊ณต

    โ“API
    Application Programming Interface์˜ ์•ฝ์ž

    ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋‘ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค [์œ„ํ‚ค๋ฐฑ๊ณผ]

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

    ์˜ˆ์‹œ)
    ๊ณ ๊ฐ - ์ ์›(API) - ์ฃผ๋ฐฉ
    ๋ ˆ์Šคํ† ๋ž‘์—์„œ ์†๋‹˜์—๊ฒŒ ์ฃผ๋ฌธ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋‰ด๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ ,
    ์†๋‹˜์ด ๊ณ ๋ฅธ ์Œ์‹์„ ์ฃผ๋ฐฉ์— ์ „๋‹ฌ ํ›„, ์Œ์‹์ด ๋‚˜์˜ค๋ฉด ๊ณ ๊ฐ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์ ์›์ด API์ด๋‹ค.

    ์ถœ์ฒ˜

  2. ํŽ˜์ด์ง€(์ •์ ) ์ œ๊ณต

์š”์ฒญ์€ ์–ด๋–ป๊ฒŒ?

REST API๋กœ!

(RESPT API๋ž€ REST์˜ ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฅด๋Š” API)

  1. URL + Method์˜ ์กฐํ•ฉ์œผ๋กœ ์‹ค์‹œํ•œ๋‹ค.
  2. HTTP๋ผ๋Š”, ์„œ๋กœ ๊ฐ„์— ์•ฝ์†๋œ ์ƒํ˜ธ์ž‘์šฉ ๋ฐฉ๋ฒ• ์•ˆ์—์„œ URL + Method๋กœ ํ•˜๋Š” ๊ฒƒ

โ“REST

REpresentational State Transfer์˜ ์•ฝ์ž
์ž์›์„ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธ

์ฆ‰, HTTP URI(Uniform Resource Identifier)๋ฅผ ํ†ตํ•ด ์ž์›(Resource)์„ ๋ช…์‹œํ•˜๊ณ ,
HTTP Method(POST, GET, PUT, DELETE, PATCH ๋“ฑ)๋ฅผ ํ†ตํ•ด
ํ•ด๋‹น ์ž์›(URI)์— ๋Œ€ํ•œ CRUD Operation์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

์ถœ์ฒ˜

๋ชจ๋˜ ์›น ์„œ๋น„์Šค ๊ตฌ์„ฑ๋ฐฉ๋ฒ•

  • ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๊ฐ๊ฐ ๊ตฌ์„ฑํ•˜์—ฌ ๊ฐ๊ฐ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ• โ†’ ์›น์„œ๋ฒ„ 2๊ฐœ
  • ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๋™์‹œ์— ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• โ†’ ์›น์„œ๋ฒ„ 1๊ฐœ
  • ๋ฐฑ์—”๋“œ๋งŒ ๊ตฌ์„ฑํ•˜์—ฌ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ• โ†’ ์›น์„œ๋ฒ„ 1๊ฐœ
  • ํ”„๋ก ํŠธ์—”๋“œ๋งŒ ๊ตฌ์„ฑํ•˜์—ฌ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ• โ†’ ์›น์„œ๋ฒ„ 1๊ฐœ
profile
์ปคํ”ผ๋Š” ์ฝœ๋“œ๋ธŒ๋ฃจ

0๊ฐœ์˜ ๋Œ“๊ธ€