๋ฉ‹์‚ฌ Backend Plus 9์ผ์ฐจ ๐Ÿฆ

์‹ ์žฌ์›ยท2023๋…„ 11์›” 2์ผ

์˜ค๋Š˜์€ ์›น ์†Œ์ผ“์˜ ์ด๋ก ๊ณผ 5์ผ๊ฐ„ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

์›น ์†Œ์ผ“ (Web Socket)

์›น ์†Œ์ผ“ ์ด๋ž€ ?

  • ์›น ์†Œ์ผ“์ด๋ž€ ๋‘ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฉ”์‹œ์ง€ ๊ตํ™˜์„ ํ• ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜ ์ž…๋‹ˆ๋‹ค.

์™œ ์‚ฌ์šฉํ•ด์•ผ ๋˜์ง€ ?

  • ์‹ค์‹œ๊ฐ„์„ ๋ณด์žฅํ•ด์•ผ ๋˜๋Š” ์„œ๋น„์Šค

โžก ์ฆ‰ ๊ฒŒ์ž„, ์ฑ„ํŒ…, ์ฃผ์‹๊ฑฐ๋ž˜ ์„œ๋น„์Šค ๋“ฑ๋“ฑ ๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๊ผญ Web Socket ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์•ผ ๋ ๊นŒ?
์•„๋‹ˆ๋‹ค. HTTP ์—์„œ๋„ ์‹ค์‹œ๊ฐ„์„ ๋ณด์žฅํ•˜๋Š” ๊ธฐ๋ฒ•์ด ์กด์žฌ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


์‹ค์‹œ๊ฐ„์„ ๋ณด์žฅํ•ด์•ผ ํ•˜๋Š” ์„œ๋น„์Šค์— ์›น ์†Œ์ผ“์„ ๋งŽ์ด ์‚ฌ์šฉ ํ•˜๋Š” ์ด์œ ๋Š” ๋ญ˜๊นŒ?

๊ทธ ์ด์œ ๋Š” HTTP ์™€ Web Socket ์˜ ์ฐจ์ด์ ์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

HTTP : ๋น„์—ฐ๊ฒฐ์„ฑ, ๋‹จ๋ฐฉํ–ฅ (์š”์ฒญ - ์‘๋‹ต) ๊ตฌ์กฐ, ์ปค๋„ฅ์…˜์„ ๋งค๋ฒˆ ์—ฐ๊ฒฐํ•˜๊ณ  ๋Š๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒ
Web Socket : ์—ฐ๊ฒฐ์„ฑ, ์–‘๋ฐฉํ–ฅ, ํ•œ๋ฒˆ ์—ฐ๊ฒฐํ•œ ์ปค๋„ฅ์…˜์„ ์œ ์ง€ (๋Š๋Š” ์š”์ฒญ์ด ์žˆ์„๋•Œ ๊นŒ์ง€)

์ •๋ฆฌ

  • ์ž์ฃผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์•„์•ผ ๋˜๋Š” ์„œ๋น„์Šค์ธ ๊ฒฝ์šฐ ์†Œ์ผ“ ํ†ต์‹ ์ด ์œ ๋ฆฌํ•˜๋‹ค.

์›น ์†Œ์ผ“ ์œ„์— ์–น์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•˜์œ„ (์„œ๋ธŒ) ํ”„๋กœํ† ์ฝœ STOMP ๊ฐ€ ์กด์žฌ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ์›น ์†Œ์ผ“์„ ์™„๋ฒฝํžˆ ์ดํ•ดํ•˜์ง€ ์•Š์•„ ๋ณต๋ถ™์„ ํ•˜์—ฌ ์ •๋ฆฌ ํ•ด๋†“๋Š”๊ฒƒ ๋ณด๋‹ค๋Š” ์ถ”๊ฐ€์ ์ธ ํ•™์Šต์„ ํ•˜์—ฌ STOMP ๋ฐฉ์‹๊นŒ์ง€ ์ดํ•ด ํ•˜๋Š”๊ฒŒ ์ข‹์„๊ฒƒ ๊ฐ™๋‹ค.

REFERENCE

https://kotlinworld.com/75 (์›น ์†Œ์ผ“ vs HTTP)

ํ”„๋กœ์ ํŠธ ํšŒ์˜

  • ๊นƒํ—ˆ๋ธŒ Organizations (์กฐ์ง) ๋งŒ๋“ค๊ณ , Repo ์ƒ์„ฑ ํ•˜์˜€๋‹ค.
  • ๊ธฐ๋Šฅ ์š”๊ตฌ ๋ช…์„ธ์„œ ์ž‘์„ฑ, ๋ธŒ๋žœ์น˜ ์ „๋žต, ์„ค์ •์„ ํŒ€์›๋“ค๊ณผ ๋งž์ท„๋‹ค.
  • ๋‚ด๊ฐ€ ๋งก์€ ํŒŒํŠธ๋Š” ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ ํŒŒํŠธ์ด๊ณ , ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„์ด ์งง์•„ ์ธ์ฆ๊ณผ ์ธ๊ฐ€๋Š” ๊ตฌํ˜„ํ•˜์ง€ ์•Š์„๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿ”Ž ์ถ”๊ฐ€๋กœ JPA ๋ฅผ ์‚ฌ์šฉํ•˜์ง€์•Š๋Š” ๋ ˆ๊ฑฐ์‹œํ•œ ํ”„๋กœ์ ํŠธ๋Š” ์ฒ˜์Œ ๊ฒฝํ—˜ํ•ด๋ณด๋Š” ๊ฒƒ์ด๋‹ค.
(xml, Mapper ๋“ฑ ์‚ฌ์šฉ)
์ข‹์€ ๊ฒฝํ—˜์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

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