Skip to content

Boram33JO/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

540 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์œ„์น˜ ๊ธฐ๋ฐ˜ ์Œ์•… ๊ณต์œ  ์‚ฌ์ดํŠธ

์ถœ๊ทผ์„ ํ•  ๋•Œ, ์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜, ๋งค๋ฒˆ ์–ด๋””๋ก ๊ฐ€ ๊ฐ€๊ณ  ๋จธ๋ฌด๋Š” โ€˜๋‚˜โ€™์˜ ์ผ์ƒ, ๋‹ค๋“ค ์Œ์•…๊ณผ ํ•จ๊ป˜ ํ•˜๊ณ  ๊ณ„์‹œ์ง€ ์•Š์œผ์‹ ๊ฐ€์š”? ๋‚ด๊ฐ€ ์ถ”์–ตํ•˜๋Š” ๊ณต๊ฐ„๊ณผ ๊ทธ ๋•Œ์˜ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ๋ฅผ ๋ชจ๋‘์™€ ํ•จ๊ป˜ ๊ณต์œ ํ•ด๋ณด์•„์š” ๐Ÿ—ฃ๏ธ๐ŸŽง


๐Ÿ’œย P.Ple ์†Œ๊ฐœ - People Place Playlist

ํŠน๋ณ„ํ•œ ์žฅ์†Œ๋กœ ์—ฌํ–‰์„ ๊ฐ€๊ฑฐ๋‚˜, ์ผ์ƒ ์†์—์„œ ๋“ค์—ˆ๋˜ ๋…ธ๋ž˜๋“ค์„ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค์–ด ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.


๐Ÿ“† ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

  • 2023.07.29 ~ 2023.09.08

๐Ÿ˜Ž Members

Frontend

๊น€์€๋น„ ๊น€์ •์šฐ ์ •์†Œํฌ

Backend

์œ ํ˜„์ฃผ ์ตœ๋„์˜ ์ด์„ฑ๋ชฉ

Designer

์˜คํ˜œ์„ฑ


๐Ÿ’œย ์ฃผ์š” ๊ธฐ๋Šฅ ์†Œ๊ฐœ

๐Ÿ“Œ ๋ฉ”์ธํŽ˜์ด์ง€
  • ์ธ๊ธฐ ํฌ์ŠคํŒ…, ์ถ”์ฒœ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ๋“ฑ P.Ple์˜ ์ฃผ ์ปจํ…์ธ ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ“Œ ๊ฒŒ์‹œ๋ฌผ ์ž‘์„ฑ
  • ์žฅ์†Œ ๊ฒ€์ƒ‰, ๋…ธ๋ž˜ ๊ฒ€์ƒ‰์„ ์ด์šฉํ•ด ํ•ด๋‹น ์žฅ์†Œ์— ์–ด์šธ๋ฆฌ๋Š” ํ”Œ๋ ˆ์ด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ด์•„ ๊ฒŒ์‹œ๋ฌผ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ“Œ ์žฅ์†Œ์— ๋”ฐ๋ฅธ ๊ฒŒ์‹œ๋ฌผ ๋ฆฌ์ŠคํŠธ
  • GPS ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ˜„์žฌ ๋‚ด ์œ„์น˜ ์ฃผ๋ณ€์ด๋‚˜ ํŠน์ • ์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๊ทธ ์ฃผ๋ณ€์˜ ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๋ฌผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GPS ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ˜„์žฌ ๋‚ด ์œ„์น˜ ์ฃผ๋ณ€์ด๋‚˜ ํŠน์ • ์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๊ทธ ์ฃผ๋ณ€์˜ ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๋ฌผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ“Œ ํ”„๋กœํ•„ ํŽ˜์ด์ง€
  • ๋‚ด ํ”„๋กœํ•„๊ณผ ํšŒ์› ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ๋‚ด ํฌ์ŠคํŒ…, ํŒ”๋กœ์›Œ, ๋Œ“๊ธ€ ๋“ฑ์„ ํ•œ ๋ˆˆ์— ๋ณด๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ”„๋กœํ•„์˜ ๊ฒฝ์šฐ ํฌ์ŠคํŒ…, ํŒ”๋กœ์›Œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ“Œย ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ
  • ๊ฒŒ์‹œ๋ฌผ์˜ ์ƒ์„ธ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๊ณ  ๋Œ“๊ธ€์„ ๋‚จ๊ฒจ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ์˜๊ฒฌ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋งˆ์Œ์— ๋“œ๋Š” ๊ฒŒ์‹œ๋ฌผ์— ์ข‹์•„์š”๋ฅผ ํ•˜๊ฑฐ๋‚˜ ์ž‘์„ฑ์ž๋ฅผ ํŒ”๋กœ์šฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ“Œย ๋ฏธ๋ฆฌ ๋“ฃ๊ธฐ ๊ธฐ๋Šฅ
  • ์Œ์•…์„ ์„ ํƒํ•˜๋ฉด Spotify์—์„œ ์ œ๊ณตํ•˜๋Š” 30์ดˆ ๋ฏธ๋ฆฌ ๋“ฃ๊ธฐ๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•œ ๋ฒˆ ๋” ์Œ์•…์„ ์„ ํƒํ•˜๋ฉด Spotify ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
๐Ÿ“Œย ์•Œ๋ฆผ ๊ธฐ๋Šฅ
  • ๋กœ๊ทธ์ธํ•œ ์œ ์ €๋Š” ํŒ”๋กœ์šฐ๋ฅผ ๋ฐ›๊ฑฐ๋‚˜ ์ž‘์„ฑํ•œ ๊ธ€์— ๋‹ค๋ฅธ ์œ ์ €๊ฐ€ ์ข‹์•„์š”, ๋Œ“๊ธ€ ์ž‘์„ฑ์„ ํ•˜๋ฉด ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ“Œย ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
  • ์ถ”์ฒœ ํฌ์ŠคํŒ…, ์ธ๊ธฐ ํ”Œ๋ ˆ์ด์Šค, ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์ธ๊ธฐ ์žˆ๋Š” ๋…ธ๋ž˜, ์ธ๊ธฐ ๊ฒ€์ƒ‰์–ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๊ด€๋ จ๋œ ํฌ์ŠคํŒ…, ํ”Œ๋ ˆ์ด์Šค, ์Œ์•…, ํ”ผํ”Œ๋Ÿฌ๋ฅผ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โš™๏ธย ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ


๐Ÿ”ซย ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

Back-End

Issue1. RefreshToken์œผ๋กœ AccessToken ์žฌ๋ฐœ๊ธ‰์‹œ RT ํƒˆ์ทจ ์œ„ํ—˜ ์ด์Šˆ

๋ฌธ์ œ:

  • RefreshToken์„ AccessToken๊ณผ ํ•จ๊ป˜ ๋ณด๋‚ด ๋งŒ๋ฃŒ ์‹œ ์ž๋™์œผ๋กœ AccessToken์„ ์žฌ๋ฐœ๊ธ‰ ํ•˜๊ฒŒ ํ•˜์˜€์ง€๋งŒ, RefreshToken์˜ ํƒˆ์ทจ ์œ„ํ—˜์— ๋Œ€ํ•œ ๋ฌธ์ œ์  ๋ฐœ์ƒ

์‹œ๋„:

  • AT๋งŒ๋ฃŒ ์‹œ RT๋กœ AT๋ฃฐ ์žฌ๋ฐœ๊ธ‰ํ•˜๊ณ  RT ๋˜ํ•œ ๊ฐ™์ด ์žฌ๋ฐœ๊ธ‰ ๋ฐฉ๋ฒ•์„ ์‹œ๋„
  • ์š”์ฒญ ์‹œ์—๋Š” AT๋งŒ ์š”์ฒญ ํ›„ AT๊ฐ€ ๋งŒ๋ฃŒ ์‹œ ๋งŒ๋ฃŒ ์‘๋‹ต์„ ๋จผ์ € ๋ณด๋‚ด๊ณ  RT๋ฅผ ๋ฐ›์•„ ์ƒˆ๋กญ๊ฒŒ AT๋ฅผ ์žฌ๋ฐœ๊ธ‰ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ - RT๋งŒ๋ฃŒ์‹œ ๋กœ๊ทธ์•„์›ƒ์ด ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹œ๋„

ํ•ด๊ฒฐ:

  • ๋กœ๊ทธ์ธ ์‹œ์— AT, RT๋ฅผ ํ•จ๊ป˜ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์š”์ฒญ ์‹œ์—๋Š” AT๋งŒ ์š”์ฒญ ํ›„ AT๊ฐ€ ๋งŒ๋ฃŒ ์‹œ ๋งŒ๋ฃŒ ์‘๋‹ต์„ ๋จผ์ € ๋ณด๋‚ด๊ณ  RT๋ฅผ ๋ฐ›์•„ ์ƒˆ๋กญ๊ฒŒ AT๋ฅผ ์žฌ๋ฐœ๊ธ‰ํ•˜๊ฒŒ ํ•˜๊ณ  ๊ธฐ์กด์˜ RT ๋งŒ๋ฃŒ ์‹œ ๋กœ๊ทธ์•„์›ƒ์ด ๋˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹๋งŒ ์ฑ„ํƒ
Issue2. Spotify API๋ฅผ ์ด์šฉํ•œ ๋…ธ๋ž˜ ๊ฒ€์ƒ‰ ์‹œ ๊ฒ€์ƒ‰ ์ œํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์ด์Šˆ

๋ฌธ์ œ:

  • ๋…ธ๋ž˜ ๊ฒ€์ƒ‰ ํ…Œ์ŠคํŠธ ์‹œ ๊ฒ€์ƒ‰ ์ œํ•œ์œผ๋กœ ์ธํ•ด ๋งŽ์€ ์š”์ฒญ์„ ๋ณด๋‚ผ ์‹œ โ€œAPI rate limit exceededโ€ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ API ์‘๋‹ต์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋ฐœ์ƒ.

์‹œ๋„:

  • ๊ฒ€์ƒ‰์–ด์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์บ์‹ฑ ์ฝ๊ธฐ ์ „๋žต Look Aside ํŒจํ„ด์„ ์ ์šฉ.
  • 429 ์—๋Ÿฌ ์‘๋‹ต ์‹œ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„ ์žฌ์‹œ๋„.

ํ•ด๊ฒฐ:

  • ์บ์‹ฑ ์ฝ๊ธฐ ์ „๋žต Look Aside ํŒจํ„ด์„ ์ ์šฉํ•˜๋ฉด์„œ ํ•œ๋ฒˆ์— ๋” ๋งŽ์€ ๊ฐ’์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋„๋ก 10๊ฐœ์—์„œ 30๊ฐœ๋กœ ๋ณ€๊ฒฝ.
Issue3. ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ, ์ข‹์•„์š” ๋™์‹œ์„ฑ ์ œ์–ด

๋ฌธ์ œ:

  • ๊ธฐ์กด ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ๋กœ์ง์œผ๋กœ JMeter ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ 1000๊ฐœ์˜ ์Šค๋ ˆ๋“œ ์š”์ฒญ์— ํ‰๊ท ์ ์œผ๋กœ 102๊ฐœ์˜ ์š”์ฒญ๋งŒ ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด์˜ค๊ณ  898๊ฐœ์˜ ์š”์ฒญ์€ ์œ ์‹ค

์‹œ๋„:

  • JPA ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ์ฝ๊ธฐ โ†’ ์“ฐ๊ธฐ โ†’ ๋ณ€๊ฒฝ ๊ฐ์ง€์˜ ์ˆœ์„œ๋กœ ํ˜๋Ÿฌ๊ฐ€๋Š”๋ฐ ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์ฝ๊ธฐ๋ฅผ ํ•˜๊ณ  ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์‹ค

ํ•ด๊ฒฐ:

  • ๋น„๊ด€์ ๋ฝ ๋ฒ ํƒ€๋ฝ ์„ค์ •์œผ๋กœ 1000๊ฐœ์˜ ์š”์ฒญ ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด์™”์œผ๋‚˜ ์„ฑ๋Šฅ์€ ์ €ํ•˜
  • ๊ธฐ์กด ๋กœ์ง์€ 1000๊ฐœ์˜ ์š”์ฒญ 8์ดˆ, ๋ณ€๊ฒฝ ํ›„ 14์ดˆ๋กœ ์ฆ๊ฐ€
Issue4. ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ์ˆ˜ ์–ด๋ทฐ์ง•

๋ฌธ์ œ:

  • ๊ธฐ๋ณธ ๋กœ์ง์€ ํšŒ์›, ๋น„ํšŒ์› ์ƒ๊ด€์—†์ด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ๋ฌดํ•œ์œผ๋กœ ์กฐํšŒ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ

์‹œ๋„:

  • 1์ฐจ์ ์œผ๋กœ cookie๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋กœ์ง์œผ๋กœ ๋ณ€๊ฒฝํ•˜์˜€์œผ๋‚˜, ๋„๋ฉ”์ธ๋‹น ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ˆ˜๊ฐ€ ์ œํ•œ์ด ์žˆ๊ณ , cookie๊ฐ’์ด ์ปค์งˆ ๊ฒฝ์šฐ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์— ๋ถ€๋‹ด์„ ์ฃผ๊ณ , ๊ณ ์˜์ ์œผ๋กœ cookie๋ฅผ ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ์ด ์กด์žฌ

ํ•ด๊ฒฐ:

  • 2์ฐจ์ ์œผ๋กœ ๋น„ํšŒ์›์€ ์ ‘์†ํ•œ Client IP, ๊ฒŒ์‹œ๊ธ€ ID๋ฅผ ํšŒ์›์€ ์œ ์ € ID, ๊ฒŒ์‹œ๊ธ€ ID๋ฅผ Redis์— ์ €์žฅํ•˜๊ณ  ๋งŒ๋ฃŒ ์‹œ๊ฐ„์€ ๋ฐค12์‹œ ๊ธฐ์ค€์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋กœ์ง์œผ๋กœ ๋ณ€๊ฒฝ
  • IP ๋˜ํ•œ ๊ณ ์˜์ ์œผ๋กœ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์กด์žฌํ•˜๋‚˜ ์–ด๋ทฐ์ง• ์œ ์ €๊ฐ€ ์กฐ์ž‘ํ•˜๊ธฐ์— cookie ๋ฐฉ์‹๋ณด๋‹ค ์–ด๋ ต๋‹ค๊ณ  ํŒ๋‹จํ•ด ์ ์šฉ

Infra

Issue1. AWS EC2 ์ธ์Šคํ„ด์Šค ๋ฉˆ์ถค ํ˜„์ƒ

๋ฌธ์ œ:

  • ์„œ๋ฒ„๊ฐ€ ๋ฐฐํฌ ๋˜๊ณ  ํŠน์ •์‹œ๊ฐ„์ด ์ง€๋‚˜๊ฑฐ๋‚˜, spring boot ์„œ๋ฒ„๊ฐ€ 2๊ฐœ ์ด์ƒ ๋Œ์•„๊ฐ€๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฉˆ์ถ”๊ณ  ์ ‘์† ์•ˆ๋˜๋Š” ํ˜„์ƒ ๋ฐœ์ƒ

์‹œ๋„:

  • ์ธ์Šคํ„ด์Šค ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฒฐ๊ณผ CPU ์‚ฌ์šฉ๋ฅ ์ด ๊ธ‰๊ฒฉํ•˜๊ฒŒ ์˜ฌ๋ผ๊ฐ€๊ณ , ์‹œ์Šคํ…œ ๋กœ๊ทธ์—์„œ Out of memory: kill process ๋ฐœ์ƒํ•ด ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ํ™•์ธ

ํ•ด๊ฒฐ:

  • ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„ ์ผ๋ถ€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋Œ€์ฒดํ•˜์—ฌ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ธ์Šคํ„ด์Šค์— Swap Memory 2GB ๋ฅผ ์„ค์ • ํ•˜์—ฌ ํ•ด๊ฒฐ
Issue2. ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์—๋Ÿฌ

๋ฌธ์ œ:

  • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ์‹œ 5MB ํฌ๊ธฐ ์ œํ•œ์„ ์„ค์ •ํ–ˆ์ง€๋งŒ 1MB ์ดˆ๊ณผ ํ•ด๋„ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
  • application.properties ๋‚ด์—์„œ๋Š” ์ •์ƒ์ ์œผ๋กœ ์„ค์ •, ์‹ค์ œ ๋ฐฐํฌ ์„œ๋ฒ„์—์„œ๋งŒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

์‹œ๋„:

  • ๋ฐฐํฌ ์„œ๋ฒ„์—์„œ๋Š” Nginx๋กœ reverse proxy ๊ตฌ์„ฑํ•˜๋ฉด์„œ Nginx์—์„œ ๊ธฐ๋ณธ์œผ๋กœ 1MB ์ œํ•œ

ํ•ด๊ฒฐ:

  • nginx.conf ๋‚ด์—์„œ client_max_body_size ์„ค์ • ํ›„ ํ•ด๊ฒฐ
Issue3. Redis ์“ฐ๊ธฐ ์—๋Ÿฌ

๋ฌธ์ œ:

  • Redis๋Š” persistent๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ BGSAVE๋กœ RDB ํŒŒ์ผ์„ ์ €์žฅ, ์ด ๊ณผ์ •์—์„œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜์—ฌ RDB ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋‹ค ์‹คํŒจํ•˜๋ฉด ๋ชจ๋“  ์“ฐ๊ธฐ ์š”์ฒญ์ด ๋ง‰ํ˜€ ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ

์‹œ๋„:

  • ํ”„๋กœ์ ํŠธ์—์„œ Redis๋ฅผ ๋‹จ์ˆœ ์บ์‹œ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— bgsave ์—๋Ÿฌ๊ฐ€ ๋‚ฌ์„ ๋•Œ ๋ฉˆ์ถ”๋Š” ์„ค์ • off

ํ•ด๊ฒฐ:

  • redis.conf ํŒŒ์ผ ๋‚ด SNAPSHOTTING ๋ถ€๋ถ„์— stop-writes-on-bgsave-error ๋ถ€๋ถ„์ด ๊ธฐ๋ณธ ์„ค์ • yes์—์„œ no๋กœ ๋ณ€๊ฒฝ
Issue4. ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜๊ฐ’ ์‹œ๊ฐ„ ๋ฌธ์ œ

๋ฌธ์ œ:

  • EC2 ์ธ์Šคํ„ด์Šค ์„œ๋ฒ„ ์‹œ๊ฐ„์ด UTC ํƒ€์ž„์กด์œผ๋กœ ์„ค์ • ๋ผ์žˆ์–ด ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜๊ฐ’๋“ค ์‹œ๊ฐ„์ด 9์‹œ๊ฐ„ ์ฐจ์ด ๋‚˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ

์‹œ๋„:

  • RDS MySQL ํƒ€์ž„์กด์„ ๋ณ€๊ฒฝํ•˜์˜€์œผ๋‚˜ ์—ฌ์ „ํžˆ ๋ฌธ์ œ ๋ฐœ์ƒ

ํ•ด๊ฒฐ:

  • sudo dpkg-reconfigure tzdata ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ํƒ€์ž„์กด์„ KST๋กœ ๋ณ€๊ฒฝ
Issue5. Cloud Front ์‹ค์‹œ๊ฐ„ ๋ฐ˜์˜ ์•ˆ๋˜๋Š” ๋ฌธ์ œ

๋ฌธ์ œ:

  • S3์— ์—…๋กœ๋“œ ๋œ ์ˆ˜์ • ์‚ฌํ•ญ๋“ค์ด ๋ฐฐํฌ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ
  • ๊ธฐ๋ณธ์ ์œผ๋กœ Cloud Front ์บ์‹œ ์ •์ฑ…์€ ๊ฐ ํŒŒ์ผ์„ 24์‹œ๊ฐ„ ํ›„์— ์ž๋™์œผ๋กœ ๋งŒ๋ฃŒ

์‹œ๋„:

  • ๊ณต์‹ ๋ฐฐํฌ ์ „๊นŒ์ง€ ์บ์‹œ ์ •์ฑ… CachingDisabled ์„ค์ •

ํ•ด๊ฒฐ:

  • ์บ์‹œ ์ •์ฑ… ์‹œ๊ฐ„ ์ด์ „์— ๊ฐ•์ œ๋กœ CloudFront์˜ ๋ฐฐํฌ ๋‚ด์šฉ์„ ์—…๋ฐ์ดํŠธ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฌดํšจํ™” ์ƒ์„ฑํ•ด ์ ์šฉ or ์บ์‹œ ์ •์ฑ…์„ ๋งŒ๋“ค์–ด ์›ํ•˜๋Š” TTL ์„ค์ •

๐Ÿฐย ๊ธฐ์ˆ 

Frontend

Backend

Infrastructure

Dev tools

Design


โ˜๏ธย ERD

ERD

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages