๊ณต๋ถ€/TIL

[20250228] Http Session๊ณผ Session Clustering ํ•„๊ธฐ

dvlpsy๐ŸŒผ 2025. 2. 28. 20:10
๋ฐ˜์‘ํ˜•

๐ŸŽฏ ์ฃผ์ œ

  • Redis๋ฅผ ํ™œ์šฉํ•œ HTTP ์„ธ์…˜ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๊ตฌํ˜„๊ณผ ํ™œ์šฉ ๋ฐฉ๋ฒ•
  • ๋‹ค์ค‘ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ ์„ธ์…˜ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ํ•ด๊ฒฐ๋ฐฉ์•ˆ ์ œ์‹œ

 

๐Ÿ“ ํ•ต์‹ฌ๊ฐœ๋… ์ •๋ฆฌ

  1. HTTP ์„ธ์…˜์˜ ๊ธฐ๋ณธ ๋™์ž‘ ๋ฐฉ์‹
    • ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ  ์„ธ์…˜ ID๋ฅผ ๋ฐœ๊ธ‰ 
    • ๋ธŒ๋ผ์šฐ์ €๋Š” ์ดํ›„ ์š”์ฒญ์‹œ ์„ธ์…˜ ID๋ฅผ ํ•จ๊ป˜ ์ „์†กํ•˜์—ฌ ์‚ฌ์šฉ์ž ์‹๋ณ„ 

     

  2. ์„œ๋ฒ„ ํ™•์žฅ ๋ฐฉ์‹
    • Scale Up: ๋‹จ์ผ ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ์‹
    • โญ Scale Out: ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹ 

     

  3. ๋‹ค์ค‘ ์„œ๋ฒ„ ํ™˜๊ฒฝ์˜ ์„ธ์…˜ ๊ด€๋ฆฌ ๋ฐฉ์‹
    • Sticky Session
    • ์ตœ์ดˆ ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋œ ์„œ๋ฒ„๋กœ ๊ณ„์† ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹ 
    • ์žฅ์ : ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•จ
    • ๋‹จ์ : ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋ถˆ๊ท ํ˜•, ์„œ๋ฒ„ ์žฅ์• ์‹œ ์„ธ์…˜ ์†์‹ค ์œ„ํ—˜ 

     

    • โญ Session Clustering
    • ์™ธ๋ถ€ ์ €์žฅ์†Œ(Redis)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์„ธ์…˜ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹
    • ์žฅ์ : ๊ท ๋“ฑํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๊ฐ€๋Šฅ, ์„œ๋ฒ„ ์žฅ์• ์—๋„ ์„ธ์…˜ ์œ ์ง€ 
    • ๋‹จ์ : ์™ธ๋ถ€ ์ €์žฅ์†Œ ๊ด€๋ฆฌ ํ•„์š”, ํ†ต์‹  ๋”œ๋ ˆ์ด ๋ฐœ์ƒ ๊ฐ€๋Šฅ 

     

  4. Redis๋ฅผ ํ™œ์šฉํ•œ ์„ธ์…˜ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๊ตฌํ˜„
    • spring-session-data-redis ์˜์กด์„ฑ ์ถ”๊ฐ€ ํ•„์š”
    • ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Java ์ง๋ ฌํ™” ๋ฐฉ์‹์œผ๋กœ ์ €์žฅ 
    • โญ JSON ์ง๋ ฌํ™” ์˜ต์…˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ (Spring Security ์‚ฌ์šฉ์‹œ ์ฃผ์˜)