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

์ด๋ ฅ์„œ/ํฌํด ๊ฐ•์˜ - ์ด๋ ฅ์ƒ˜ํ”Œ ์ •๋ฆฌ

by shulk 2025. 3. 4.

๐Ÿ“Œ ์ด๋ ฅ์„œ ์ƒ˜ํ”Œ1 ๋ถ„์„ ๋ฐ ํ”ผ๋“œ๋ฐฑ

๐Ÿ“ ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€ (๋ ˆ๋ฒจ1 ์ˆ˜์ค€์˜ ๊ตฌํ˜„๋งŒ ์ ์€ ๊ฒฝ์šฐ)

  • ์—…๋ฌด๋‚ด์šฉ์ด ๋„ˆ๋ฌด ๋‹จ์ˆœํ•˜์—ฌ ๊ฐœ๋ฐœ ์‹ค๋ ฅ์ด ๋›ฐ์–ด๋‚˜ ๋ณด์ด์ง€ ์•Š์Œ.
  • ๋ฉด์ ‘๊ด€ ์ž…์žฅ์—์„œ ์ฐจ๋ณ„์„ฑ์ด ์—†๊ณ , ๊ฐ•์ ์ด ๋ณด์ด์ง€ ์•Š์œผ๋ฉด ๋ฐ”๋กœ ๋””์Œ ํŽ˜์ด์ง€๋กœ ๋„˜๊น€.

๐Ÿ“ ๋‘ ๋ฒˆ์งธ ํŽ˜์ด์ง€ (๊ธฐ์ˆ  ๊ฒฝํ—˜ ๋ถ€๋ถ„์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ)

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

๐Ÿ“ ์„ธ ๋ฒˆ์งธ ํŽ˜์ด์ง€ (๊ธฐ์ˆ  ๊ฒฝํ—˜์ด ๊ฒฐ๊ณผ๋งŒ ๋‚˜์—ด๋œ ๊ฒฝ์šฐ)

  • ๊ธฐ์ˆ  ๊ฒฝํ—˜์ด ๊ฒฐ๊ณผ ์ค‘์‹ฌ์œผ๋กœ๋งŒ ์ ํ˜€ ์žˆ์–ด, ์˜ค์ง•์–ด๊ฒŒ์ž„ ์ด๋ก ์— ๋งž์ง€ ์•Š์Œ.
  • ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์ด๋ผ๋ฉด ๊ฒฝ์Ÿ๋ ฅ์ด ๋–จ์–ด์ง„๋‹ค.
  • ์‚ด๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด ๊ตฌ์ฒด์ ์ธ ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ฐจ๋ณ„์„ฑ์„ ๋งŒ๋“ค์–ด์•ผ ํ•จ.
    • ๐Ÿ“Œ ๋งŒ์•ฝ ์ถฉ๋ถ„ํžˆ ๊ตฌ์ฒด์ ์œผ๋กœ ์ ์—ˆ๋Š”๋ฐ๋„ ๋‹ค๋ฅธ ์ง€์›์ž๋“ค๊ณผ ์ฐจ๋ณ„์„ฑ์ด ์—†๋‹ค๋ฉด?
      • โŒ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ๋‚ซ๋‹ค.

๐Ÿ“ ๋„ค ๋ฒˆ์งธ ํŽ˜์ด์ง€ (๋ ˆ๋ฒจ1 ํ˜•์‹์œผ๋กœ๋งŒ ์ž‘์„ฑ๋œ ๊ฒฝ์šฐ)

    • ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ ์—†์ด ๋‹จ์ˆœํ•œ ๊ฒฝํ—˜๋งŒ ๋‚˜์—ด๋จ.
    • ๋ฉด์ ‘๊ด€ ์ž…์žฅ์—์„œ ์ง€์›์ž์˜ ๊ฐœ๋ฐœ ์‹ค๋ ฅ์„ ํŒ๋‹จํ•  ์ˆ˜ ์—†์Œ.
    • ์ด๋Ÿฐ ์ด๋ ฅ์„œ๋Š” ๊ฒฝ์Ÿ๋ ฅ์ด ์—†๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด ๋ฐ”๋กœ ํƒˆ๋ฝํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ.




๐Ÿ“Œ ์ด๋ ฅ์„œ ์ƒ˜ํ”Œ2 ๋ถ„์„ ๋ฐ ํ”ผ๋“œ๋ฐฑ

๐Ÿ“ ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€ (๊ตฌ์กฐ๋Š” ์ข‹์ง€๋งŒ, ์„ธ๋ถ€ ๋‚ด์šฉ์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ)

  • ๋ฌธ์ œ ์ƒํ™ฉ๊ณผ ์›์ธ์„ ์„ค๋ช…ํ•˜๋Š” ๊ตฌ์กฐ๋Š” ์ž˜ ์งœ์—ฌ ์žˆ์Œ.
  • ์ฒซ ๋ฒˆ์งธ ์ค„์˜ ๋‚ด์šฉ์€ ๋ฉด์ ‘๊ด€์ด ํฅ๋ฏธ๋ฅผ ๋А๋ผ๊ณ  ๋งํฌ๋ฅผ ํด๋ฆญํ•ด๋ณผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ ธ ์ฝ๊ธฐ ๋ถˆํŽธํ•  ๊ฐ€๋Šฅ์„ฑ์ด ํผ.
  • ๊ทธ๋ž˜๋„ ์ถ”์ƒ์ ์ธ ํ‘œํ˜„์„ ํ”ผํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•œ ๋ถ€๋ถ„์€ ๊ธ์ •์ ์ด๋ฏ€๋กœ, ๋ฉด์ ‘๊ด€์€ ๋‘ ๋ฒˆ์งธ ์ค„์„ ๊ณ„์† ์ฝ์–ด๋ณผ ๊ฒƒ์ด๋‹ค.
  • ๐Ÿ“Œ ๋‘ ๋ฒˆ์งธ ์ค„ (SSE ๊ด€๋ จ ๋‚ด์šฉ)
    • SSE๋ฅผ ์™œ ์„ ํƒํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ด์œ ์™€, SSE์˜ ์ž‘๋™ ์›๋ฆฌ ๋ฐ ํŠน์ง•์ด ๋ถ€์กฑํ•จ.
    • ๋ณด๋‹ค ๊ตฌ์ฒด์ ์ธ ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ข‹๋‹ค.
  • ๐Ÿ“Œ ์„ธ ๋ฒˆ์งธ ์ค„ (STOMP ๊ด€๋ จ ๋‚ด์šฉ)
    • STOMP์— ๋Œ€ํ•œ ๊ธฐ์ˆ ์  ์„ค๋ช…์„ ๋” ์ž์„ธํžˆ ์ ์„ ์ˆ˜ ์žˆ์—ˆ์œผ๋‚˜, ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ์•„์‰ฌ์›€.

๐Ÿ“ ๋‘ ๋ฒˆ์งธ ํŽ˜์ด์ง€ (URL ๋งํฌ ๊ณผ๋‹ค ์‚ฌ์šฉ)

  • URL ๋งํฌ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„, ๋ฉด์ ‘๊ด€์ด ๋ชจ๋“  ๋งํฌ๋ฅผ ํด๋ฆญํ•ด์„œ ํ™•์ธํ•  ๊ฐ€๋Šฅ์„ฑ์€ ๋งค์šฐ ๋‚ฎ๋‹ค.
  • ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ถ€๋ถ„์„ ๋ณด๋ฉด, ๋‹ค๋‹ค์ต์„ ์˜ ์—ญ์„ค์„ ์ ์šฉํ•˜์—ฌ ๋œ ์ค‘์š”ํ•œ ๋‚ด์šฉ์€ ๊ณผ๊ฐํžˆ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•จ.
  • ์ค‘์š”ํ•œ ๋‚ด์šฉ์€ ๋งํฌ๋กœ ๋Œ€์ฒดํ•˜๊ธฐ๋ณด๋‹ค, ์ง์ ‘ ํ’€์–ด์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ๊ณผ์ ์ด๋‹ค.

๐Ÿ“ ์„ธ ๋ฒˆ์งธ ํŽ˜์ด์ง€ (TPS ์„ฑ๋Šฅ ๊ฐœ์„  ๋ฐ JPA N+1 ๋ฌธ์ œ)

    • TPS ์„ฑ๋Šฅ ๊ฐœ์„  ๋ฐ JPA N+1 ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •์ด ๊ฒฐ๊ณผ๋งŒ ๋‚˜์—ด๋œ ์ƒํƒœ.
    • ๋ฉด์ ‘๊ด€์ด ๊ถ๊ธˆํ•œ ๊ฒƒ์€ **"์ด ์‚ฌ๋žŒ์ด ๋ฌธ์ œ๋ฅผ ์–ผ๋งˆ๋‚˜ ๊นŠ์ด ์ดํ•ดํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํŒจ์น˜ ์กฐ์ธ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ–ˆ๋Š”๊ฐ€?"**์ด๋‹ค.
    • ๋‹จ์ˆœํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹ˆ๋ผ, ๋ฌธ์ œ ๋ฐœ๊ฒฌ โ†’ ํ•ด๊ฒฐ ๊ณผ์ • โ†’ ์„ฑ๋Šฅ ๊ฐœ์„  ํšจ๊ณผ๊นŒ์ง€์˜ ํ๋ฆ„์„ ํ’€์–ด์„œ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

      ๊ตฌ์กฐ๋„ ์ข‹๊ณ  ๋‹ค๋ฅธ ์ผ๋ฐ˜์ ์ธ ์ด๋ ฅ์„œ๋ž‘ ๋น„๊ตํ•˜๋ฉด ์ถ”์ƒ์–ด์˜ ์ €์ฃผ ํ”ผํ•˜๊ณ  ๊ตฌ์ฒด์„ฑ ์žˆ๊ฒŒ ์ ์—ˆ์œผ๋‚˜,๋”์šฑ ๊ฐœ๋ฐœ์‹ค๋ ฅ ์žˆ๊ฒŒ ๊ตฌ์ฒด์„ฑ์ด ๋ถ€์กฑํ•œ๊ฒŒ ์•„์‰ฝ๋‹ค

๐Ÿ“Œ ์ด๋ ฅ์„œ ์ƒ˜ํ”Œ3 ์ผ๋ถ€๋ถ„ ๋ถ„์„ ๋ฐ ํ”ผ๋“œ๋ฐฑ

- ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ–ˆ๋˜๋ถ€๋ถ„ ์ฝ์–ด๋ณด๋ฉด ์„ฑ๋Šฅ ๊ฐœ์„ ํ•œ ์ ์€ ์ข‹์ง€๋งŒ, Selenium์ด๋ž‘ Redis๋ฅผ ๋‹จ์ˆœํžˆ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•œ ๋А๋‚Œ์ด๋‹ค.

  ๊ทธ๋ž˜์„œ ์ฆ‰ ๋ ˆ๋ฒจ1 ๋‹จ๊ณ„์ด๋‹ค.
- ์„ฑ๋Šฅ๊ฐœ์„ ๋„ ๋‹น์—ฐํžˆ ์ €๋ ‡๊ฒŒ ๊ฒฐ๊ณผ๋งŒ ์ ๋Š”๊ฒŒ ์•„๋‹Œ ์–ด๋–ค ๋ฌธ์ œ ๋•Œ๋ฌธ์— ํ•˜๊ณ ,๋ ˆ๋””์Šค์˜ ํŠน์ง•์ด ๋ฌด์—‡๋•Œ๋ฌธ์— ์ด๋Ÿฐ ์„ฑ๋Šฅ๊ฐœ์„  ํ–ˆ๋Š”      ์ง€๋“ฑ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์ ์–ด์•ผํ•œ๋‹ค
- Selenium๋„ ๋ณด๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€์—์„œ Selenium์„ ํƒํ•œ ์ด์œ ,์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๊ธฐ ๋–„๋ฌธ์— Selenium์ด ์ ํ•ฉํ•˜๋‹ค ํŒ๋‹จ๋“ฑ ๋””ํ…Œ์ผํ•˜     ๊ฒŒ ์ ์–ด์•ผํ•œ๋‹ค

 

 

๐Ÿ“Œ ์ถ”๊ฐ€ ์‚ฌํ•ญ

ํ•™๋ ฅ,์ˆ˜์ƒ,๊ฒฝ๋ ฅ๋“ฑ์€ ์ œ์ผ  ํ•˜๋‹จ์œผ๋กœ ๋‚ด๋ฆฌ๊ณ  ์ž๊ธฐ์†Œ๊ฐœ๋Š” ๊ทธ๋ƒฅ ์•„์˜ˆ ์•ˆ์ ๊ฑฐ๋‚˜ ์ œ์ผ ํ•˜๋‹จ์œผ๋กœ ๋บด๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋‚ซ๋‹ค. ์ˆ˜๋ฐฑ๋ช… ์ด๋ ฅ์„œ์— ์ž๊ธฐ์†Œ๊ฐœ ๋ณด๋ฉด ๋‹ค ๊ทธ๊ฑฐ๋‚˜ ๊ทธ๊ฑฐ๋‚˜๋‹ค

 

๋ณดํ†ต ํฌํด์— ๊ฒฐ๊ณผํ™”๋ฉด ์‚ฌ์ง„๋“ฑ์„ ์ฒจ๋ถ€ํ•˜๋Š”๊ฒŒ ๋ฉด์ ‘๊ด€์€ ์‚ฌ์ง„์„ ๋ณด๊ณ  ๊ฐœ๋ฐœ์‹ค๋ ฅ์ด ๋›ฐ์–ด๋‚œ์ง€ ๋‹น์—ฐ ๋ชจ๋ฅด๊ณ  ๊ด€์‹ฌ์ด ์—†๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋นผ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋‚ ์ˆ˜๋„ ์žˆ๋‹ค.

 

๐Ÿ“Œ ํ‰์ด ์ข‹์€ ์ด๋ ฅ์„œ

 

๐Ÿ“Œ (25๋…„1์›”) SI๋„ ์•„๋‹Œ ์ข‹์€ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค ํšŒ์‚ฌ ํ•ฉ๊ฒฉํ•œ A๊ฐœ๋ฐœ์ž ์ด๋ ฅ์„œ