Skip to content

4-Year-Gap/logistics-delivery-msa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • ๋ฌผ๋ฅ˜ ๊ด€๋ฆฌ ๋ฐ ๋ฐฐ์†ก ์‹œ์Šคํ…œ์„ ์œ„ํ•œ MSA(Microservices Architecture) ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  • MSA์˜ ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•˜๊ณ , ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ MSA๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉด์„œ ์‹ค๋ฌด์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค์„ ๊ฐ„์ ‘์ ์œผ๋กœ ๊ฒฝํ—˜ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ๋ฌธ๋ถ€ํ„ฐ ์ตœ์ข… ๋ฐฐ์†ก๊นŒ์ง€์˜ ๋ฌผ๋ฅ˜ ํ๋ฆ„

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

๊ธฐ์ˆ  ์Šคํƒ

์„œ๋น„์Šค ๊ตฌ์„ฑ

๊ณตํ†ต ์‚ฌํ•ญ

  • ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹ : ๋‹จ์ˆœ ์กฐํšŒ ์‹œ REST API๋ฅผ ํ†ตํ•ด ํ†ต์‹ ํ•˜๋ฉฐ FeignClient๋ฅผ ์ด์šฉ, ๋‹จ์ˆœ ์กฐํšŒ๋ฅผ ์ œ์™ธํ•œ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ ์€ ๋ฉ”์‹œ์ง€ ํ ์ด์šฉ
  • ์บ์‹ฑ: ๋นˆ๋ฒˆํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ์กฐํšŒ ๋ฐ์ดํ„ฐ๋ฅผ Redis์— ์บ์‹ฑํ•˜์—ฌ ์‘๋‹ต ์†๋„ ๊ฐœ์„ 
  • ๋™์‹œ์„ฑ ์ œ์–ด: ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Redis์˜ ์›์ž์„ฑ๊ณผ ๋น ๋ฅธ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ์ด์šฉํ•˜์—ฌ ์žฌ๊ณ  ๊ฐ์†Œ, ๋ฐฐ์ • ๋“ฑ ๊ฒฝ์Ÿ ์กฐ๊ฑด ๋ฐœ์ƒ ์ž‘์—…์˜ ์ •ํ•ฉ์„ฑ ๋ณด์žฅ
  • Audit ํ•„๋“œ ์ถ”๊ฐ€/๋…ผ๋ฆฌ์  ์‚ญ์ œ:๋ชจ๋“  ํ…Œ์ด๋ธ”์— created_at, created_by, updated_at, updated_by, deleted_at, deleted_by ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฐ์‚ฌ ๋กœ๊ทธ ๊ธฐ๋ก
  • ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ: ์—ฌ๋Ÿฌ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ๋™์‹œ์— ์—…๋ฐ์ดํŠธ๋  ๊ฒฝ์šฐ ํŠธ๋žœ์žญ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ฉฐ ์‹คํŒจ ์‹œ ์ „์ฒด ๋กค๋ฐฑ ์ฒ˜๋ฆฌ

ํ—ˆ๋ธŒ ๊ด€๋ฆฌ

  • ํ—ˆ๋ธŒ ์œ„์น˜: 17๊ฐœ ์ง€์—ญ(์„œ์šธ, ๋Œ€์ „, ๋ถ€์‚ฐ ๋“ฑ)์— ํ—ˆ๋ธŒ ์„ผํ„ฐ ์šด์˜
  • ํ—ˆ๋ธŒ ๊ฐ„ ์ด๋™ ์ •๋ณด: ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ—ˆ๋ธŒ ๊ฐ„ ์ตœ๋‹จ ๊ฒฝ๋กœ ๋งคํ•‘์„ ํ†ตํ•ด ๋ฌผ๋ฅ˜ ์šด๋ฐ˜ ์ง€์›
17๊ฐœ ํ—ˆ๋ธŒ ์„ผํ„ฐ ๋ฆฌ์ŠคํŠธ
  1. ์„œ์šธํŠน๋ณ„์‹œ ์„ผํ„ฐ : ์„œ์šธํŠน๋ณ„์‹œ ์†กํŒŒ๊ตฌย ์†กํŒŒ๋Œ€๋กœย 55
  2. ๊ฒฝ๊ธฐ ๋ถ๋ถ€ ์„ผํ„ฐ : ๊ฒฝ๊ธฐ๋„ ๊ณ ์–‘์‹œ ๋•์–‘๊ตฌ ๊ถŒ์œจ๋Œ€๋กœ 570
  3. ๊ฒฝ๊ธฐ ๋‚จ๋ถ€ ์„ผํ„ฐ : ๊ฒฝ๊ธฐ๋„ ์ด์ฒœ์‹œ ๋•ํ‰๋กœ 257-21
  4. ๋ถ€์‚ฐ๊ด‘์—ญ์‹œ ์„ผํ„ฐ : ๋ถ€์‚ฐ ๋™๊ตฌ ์ค‘์•™๋Œ€๋กœ 206
  5. ๋Œ€๊ตฌ๊ด‘์—ญ์‹œ ์„ผํ„ฐ : ๋Œ€๊ตฌ ๋ถ๊ตฌ ํƒœํ‰๋กœ 161
  6. ์ธ์ฒœ๊ด‘์—ญ์‹œ ์„ผํ„ฐ : ์ธ์ฒœ ๋‚จ๋™๊ตฌ ์ •๊ฐ๋กœ 29
  7. ๊ด‘์ฃผ๊ด‘์—ญ์‹œ ์„ผํ„ฐ : ๊ด‘์ฃผ ์„œ๊ตฌ ๋‚ด๋ฐฉ๋กœ 111
  8. ๋Œ€์ „๊ด‘์—ญ์‹œ ์„ผํ„ฐ : ๋Œ€์ „ ์„œ๊ตฌ ๋‘”์‚ฐ๋กœ 100
  9. ์šธ์‚ฐ๊ด‘์—ญ์‹œ ์„ผํ„ฐ : ์šธ์‚ฐ ๋‚จ๊ตฌ ์ค‘์•™๋กœ 201
  10. ์„ธ์ข…ํŠน๋ณ„์ž์น˜์‹œ ์„ผํ„ฐ : ์„ธ์ข…ํŠน๋ณ„์ž์น˜์‹œ ํ•œ๋ˆ„๋ฆฌ๋Œ€๋กœ 2130
  11. ๊ฐ•์›ํŠน๋ณ„์ž์น˜๋„ ์„ผํ„ฐ : ๊ฐ•์›ํŠน๋ณ„์ž์น˜๋„ ์ถ˜์ฒœ์‹œ ์ค‘์•™๋กœ 1
  12. ์ถฉ์ฒญ๋ถ๋„ ์„ผํ„ฐ : ์ถฉ๋ถ ์ฒญ์ฃผ์‹œ ์ƒ๋‹น๊ตฌ ์ƒ๋‹น๋กœ 82
  13. ์ถฉ์ฒญ๋‚จ๋„ ์„ผํ„ฐ : ์ถฉ๋‚จ ํ™์„ฑ๊ตฐ ํ™๋ถ์ ์ถฉ๋‚จ๋Œ€๋กœ 21
  14. ์ „๋ถํŠน๋ณ„์ž์น˜๋„ ์„ผํ„ฐ : ์ „๋ถํŠน๋ณ„์ž์น˜๋„ ์ „์ฃผ์‹œ ์™„์‚ฐ๊ตฌ ํšจ์ž๋กœ 225
  15. ์ „๋ผ๋‚จ๋„ ์„ผํ„ฐ : ์ „๋‚จ ๋ฌด์•ˆ๊ตฐ ์‚ผํ–ฅ์ ์˜ค๋ฃก๊ธธ 1
  16. ๊ฒฝ์ƒ๋ถ๋„ ์„ผํ„ฐ : ๊ฒฝ๋ถ ์•ˆ๋™์‹œ ํ’์ฒœ๋ฉด ๋„์ฒญ๋Œ€๋กœ 455
  17. ๊ฒฝ์ƒ๋‚จ๋„ ์„ผํ„ฐ : ๊ฒฝ๋‚จ ์ฐฝ์›์‹œ ์˜์ฐฝ๊ตฌ ์ค‘์•™๋Œ€๋กœ 300
17๊ฐœ ํ—ˆ๋ธŒ ์„ผํ„ฐ ์—ฐ๊ฒฐ ์ •๋ณด
  • ์—ฐ๊ฒฐ๋œ ํ—ˆ๋ธŒ ๊ฐ„ ๋ฐฐ์†ก๋งŒ ๊ฐ€๋Šฅ (์˜ˆ๋ฅผ ๋“ค์–ด, ์„œ์šธ-๋ถ€์‚ฐ ๋ฐฐ์†ก ์‹œ ์„œ์šธ-๊ฒฝ๊ธฐ๋‚จ๋ถ€-๋Œ€๊ตฌ-๋ถ€์‚ฐ ์ˆœ์œผ๋กœ ๋ฐฐ์†ก)
    • ๊ฒฝ๊ธฐ๋‚จ๋ถ€: ๊ฒฝ๊ธฐ๋ถ๋ถ€, ์„œ์šธ, ์ธ์ฒœ, ๊ฐ•์›๋„, ๊ฒฝ์ƒ๋ถ๋„, ๋Œ€์ „, ๋Œ€๊ตฌ
    • ๋Œ€์ „: ์ถฉ์ฒญ๋‚จ๋„, ์ถฉ์ฒญ๋ถ๋„, ์„ธ์ข…, ์ „๋ผ๋ถ๋„, ๊ด‘์ฃผ, ์ „๋ผ๋‚จ๋„, ๊ฒฝ๊ธฐ๋‚จ๋ถ€, ๋Œ€๊ตฌ
    • ๋Œ€๊ตฌ: ๊ฒฝ์ƒ๋ถ๋„, ๊ฒฝ์ƒ๋‚จ๋„, ๋ถ€์‚ฐ, ์šธ์‚ฐ, ๊ฒฝ์ƒ๋ถ๋„, ๊ฒฝ๊ธฐ๋‚จ๋ถ€, ๋Œ€์ „
    • ๊ฒฝ์ƒ๋ถ๋„: ๊ฒฝ๊ธฐ๋‚จ๋ถ€, ๋Œ€๊ตฌ

๋ฐฐ์†ก ๋‹ด๋‹น์ž ๊ด€๋ฆฌ

  • ๋ฐฐ์†ก ๋‹ด๋‹น์ž ํƒ€์ž…: ํ—ˆ๋ธŒ ๋ฐฐ์†ก ๋‹ด๋‹น์ž์™€ ์—…์ฒด ๋ฐฐ์†ก ๋‹ด๋‹น์ž๋กœ ๊ตฌ๋ถ„
  • ํ—ˆ๋ธŒ ๋ฐฐ์†ก ๋‹ด๋‹น์ž: ํ—ˆ๋ธŒ ๊ฐ„ ๋ฌผ๋ฅ˜ ์šด๋ฐ˜ ๋‹ด๋‹น (์ „์ฒด ์‹œ์Šคํ…œ์— 10๋ช… ์กด์žฌ)
  • ์—…์ฒด ๋ฐฐ์†ก ๋‹ด๋‹น์ž: ๋ชฉ์ ์ง€ ํ—ˆ๋ธŒ์—์„œ ์ˆ˜๋ น ์—…์ฒด๊นŒ์ง€ ๋ฌผ๋ฅ˜ ์šด๋ฐ˜ ๋‹ด๋‹น (ํ—ˆ๋ธŒ ๋‹น 10๋ช… ์กด์žฌ)
  • ๋ฐฐ์†ก ๋‹ด๋‹น์ž ๋ฐฐ์ •: ๋ฐฐ์†ก ์ˆœ๋ฒˆ ๊ธฐ์ค€ ๋ผ์šด๋“œ๋กœ๋นˆ ๋ฐฉ์‹์œผ๋กœ ์ˆœ์ฐจ์  ๋ฐฐ์ •

์—…์ฒด ๊ด€๋ฆฌ

  • ์—…์ฒด ํƒ€์ž…: ์ƒ์‚ฐ ์—…์ฒด์™€ ์ˆ˜๋ น ์—…์ฒด๋กœ ๊ตฌ๋ถ„
  • ์—…์ฒด ์†Œ์†: ๋ชจ๋“  ์—…์ฒด๋Š” ํŠน์ • ํ—ˆ๋ธŒ์— ์†Œ์†

์ƒํ’ˆ ๊ด€๋ฆฌ

  • ์ƒํ’ˆ ์†Œ์†: ๋ชจ๋“  ์ƒํ’ˆ์€ ํŠน์ • ์—…์ฒด์™€ ํ—ˆ๋ธŒ์— ์†Œ์†
  • ์žฌ๊ณ  ๊ด€๋ฆฌ: ์ž…์ถœ๊ณ  ์‹œ ์ˆ˜๋Ÿ‰ ๊ฐฑ์‹  ๋ฐ ์žฌ๊ณ  ๋ถ€์กฑ ์‹œ ๋Œ€์‘

์ฃผ๋ฌธ ๊ด€๋ฆฌ

  • ์ฃผ๋ฌธ ์ƒ์„ฑ: ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ ์žฌ๊ณ  ์ˆ˜๋Ÿ‰ ๊ฐ์†Œ
  • ์ฃผ๋ฌธ ์ทจ์†Œ: ์ฃผ๋ฌธ ์ทจ์†Œ ์‹œ ์žฌ๊ณ  ์ˆ˜๋Ÿ‰ ๋ณต์›
  • ์žฌ๊ณ  ํ™•์ธ: ์žฌ๊ณ  ๋ถ€์กฑ ์‹œ ๋Œ€์‘

๋ฐฐ์†ก ๊ด€๋ฆฌ

  • ๋ฐฐ์†ก ๋ฐ์ดํ„ฐ: ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ ๋ฐฐ์†ก ๋ฐ ๋ฐฐ์†ก ๊ฒฝ๋กœ ๊ธฐ๋ก ์ž๋™ ์ƒ์„ฑ
  • ๋ฐฐ์†ก ๋‹ด๋‹น์ž ๋ฐฐ์ •: ๋ฐฐ์†ก ์œ ํ˜•(ํ—ˆ๋ธŒ, ์—…์ฒด)์— ๋”ฐ๋ฅธ ๋ฐฐ์†ก ๋‹ด๋‹น์ž ์ž๋™ ๋ฐฐ์ •

์Šฌ๋ž™ ๋ฉ”์‹œ์ง€ ๊ด€๋ฆฌ

  • ์Šฌ๋ž™ ๋ฉ”์‹œ์ง€ ๋ฐœ์†ก: ์ฃผ๋ฌธ ๋ฐœ์ƒ ์‹œ์ ์— ์Šฌ๋ž™์„ ํ†ตํ•ด ํ—ˆ๋ธŒ ๋‹ด๋‹น์ž์—๊ฒŒ ์ƒ์„ฑ๋œ ๋ฉ”์‹œ์ง€ ๋ฐœ์†ก
์ „๋‹ฌ ๋ฉ”์‹œ์ง€ ์˜ˆ์‹œ ์ฃผ๋ฌธ ๋ฒˆํ˜ธ: 1
์ฃผ๋ฌธ์ž ์ •๋ณด: ํ™๊ธธ๋™ / tester@4yeargap.com
์ƒํ’ˆ ์ •๋ณด : ์ฒœํ˜œํ–ฅ 80 ๋ฐ•์Šค
์š”์ฒญ ์‚ฌํ•ญ : 04์›” 15์ผ 12์‹œ ์ „๊นŒ์ง€ ๋ณด๋‚ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๋ฐœ์†ก์ง€ : ๊ฒฝ๊ธฐ ๋ถ๋ถ€ ์„ผํ„ฐ
๊ฒฝ์œ ์ง€ : ๋Œ€์ „๊ด‘์—ญ์‹œ ์„ผํ„ฐ, ๋ถ€์‚ฐ๊ด‘์—ญ์‹œ ์„ผํ„ฐ
๋„์ฐฉ์ง€ : ๋ถ€์‚ฐ์‹œ ์‚ฌํ•˜๊ตฌ ๋‚™๋™๋Œ€๋กœ 1๋ฒˆ๊ธธ 1 4์‚ดํ„ฐ์šธ

์œ„ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„์ถœ๋œ ์ตœ์ข… ๋ฐœ์†ก ์‹œํ•œ์€ 04์›” 12์ผ ์˜ค์ „ 11์‹œ ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ด€๋ฆฌ

  • ์‚ฌ์šฉ์ž ์ •๋ณด: ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ •๋ณด ๊ด€๋ฆฌ
  • ๊ถŒํ•œ: ๋งˆ์Šคํ„ฐ ๊ด€๋ฆฌ์ž, ํ—ˆ๋ธŒ ๊ด€๋ฆฌ์ž, ๋ฐฐ์†ก ๋‹ด๋‹น์ž, ์—…์ฒด ๋‹ด๋‹น์ž
๊ถŒํ•œ ๋ฆฌ์ŠคํŠธ
  • ๋งˆ์Šคํ„ฐ ๊ด€๋ฆฌ์ž: ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ด€๋ฆฌ์ž
  • ํ—ˆ๋ธŒ ๊ด€๋ฆฌ์ž: ๋‹ด๋‹น ํ—ˆ๋ธŒ ๊ด€๋ฆฌ, ํ—ˆ๋ธŒ์— ์†ํ•œ ๋ฐฐ์†ก ๋‹ด๋‹น์ž ๊ด€๋ฆฌ, ํ—ˆ๋ธŒ์— ์†ํ•œ ์—…์ฒด ๊ด€๋ฆฌ
  • ๋ฐฐ์†ก ๋‹ด๋‹น์ž: ํ—ˆ๋ธŒ ๋ฐฐ์†ก ๋‹ด๋‹น์ž๋Š” ํ—ˆ๋ธŒ ๊ฐ„ ๋ฐฐ์†ก ๋‹ด๋‹น(ํ—ˆ๋ธŒ โ†’ ์—…์ฒด ๋ฐฐ์†ก์€ ๋ถˆ๊ฐ€), ์—…์ฒด ๋ฐฐ์†ก ๋‹ด๋‹น์ž๋Š” ํ—ˆ๋ธŒ์—์„œ ์—…์ฒด๊นŒ์ง€์˜ ๋ฐฐ์†ก ๋‹ด๋‹น(ํ—ˆ๋ธŒ ๊ฐ„ ๋ฐฐ์†ก์€ ๋ถˆ๊ฐ€)
  • ์—…์ฒด ๋‹ด๋‹น์ž: ์†Œ์†๋œ ์—…์ฒด ์ •๋ณด ๊ด€๋ฆฌ, ์—…์ฒด๊ฐ€ ๋“ฑ๋กํ•œ ์ƒํ’ˆ ๊ด€๋ฆฌ

ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

1. ID ํ†ตํ•ฉ ๊ด€๋ฆฌ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-03-25 แ„‹แ…ฉแ„’แ…ฎ 4 15 13
  • ๋ฌธ์ œ
    • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์—์„œ ๊ฐ ์„œ๋น„์Šค(User, Hub, Order, Delivery, Company)๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋‹ค๋ฅธ ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž์ฃผ ์กฐํšŒํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด์–ด์„œ API ํ˜ธ์ถœ๋กœ ์ธํ•œ ๋น„ํšจ์œจ์„ฑ, ์„ฑ๋Šฅ ์ €ํ•˜, ๋ณต์žก์„ฑ ์ฆ๊ฐ€
  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ
    • ๊ฐ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ID๊ฐ’์„ ๋‹จ์ผ ์ง€์ ์ธ ๋ ˆ๋””์Šค ์„œ๋ฒ„์— ์บ์‹œํ•˜์—ฌ ๊ด€๋ฆฌ
      • ์นดํ”„์นด๋ฅผ ํ†ตํ•œ ID ๊ฐ’ ์ „๋‹ฌ
        • ID ๊ฐ’ ๋ณ€๊ฒฝ(Create, Update, Delete) ์‹œ, ์นดํ”„์นด ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์ด๋ฅผ User ์„œ๋ฒ„์— ์ „๋‹ฌ
      • ๋ ˆ๋””์Šค์— ID ์บ์‹ฑ
        • User ์„œ๋ฒ„๊ฐ€ ์ˆ˜์‹ ํ•œ ์นดํ”„์นด ๋ฉ”์‹œ์ง€ ์ด๋ฒคํŠธ ํƒ€์ž…์— ๋”ฐ๋ผ ๋ ˆ๋””์Šค์— ID ๊ฐ’์„ create, update, delete
        • ๊ฐ ์„œ๋ฒ„๋Š” ID ๊ฐ’ ํ•„์š” ์‹œ ์ง์ ‘ ๋ ˆ๋””์Šค์—์„œ ์กฐํšŒํ•˜์—ฌ, ๊ฐ ์„œ๋ฒ„๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ID ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ์บ์‹œ์—์„œ ์ฝ๊ธฐ ๊ฐ€๋Šฅ
  • ๊ฒฐ๋ก 
    • ๋น„ํšจ์œจ์„ฑ ์ œ๊ฑฐ
      • ํ•œ ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ API ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๋กœ์ง์„ ์ œ๊ฑฐํ•˜์—ฌ ์ฝ”๋“œ๋Ÿ‰์„ ์ค„์ด๊ณ , ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ ˆ๊ฐ
    • ์„ฑ๋Šฅ ํ–ฅ์ƒ
      • API ํ˜ธ์ถœ ๋Œ€์‹  ๋ ˆ๋””์Šค์—์„œ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜์—ฌ ์‘๋‹ต ์‹œ๊ฐ„ ๋‹จ์ถ•
      • Before์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ์•ฝ 51% ์ฆ๊ฐ€, ํ‰๊ท  ํ…Œ์ŠคํŠธ ์‹œ๊ฐ„์€ ์•ฝ 32.47% ๊ฐ์†Œ
    • ํ™•์žฅ์„ฑ ๋ฐ ์œ ์—ฐ์„ฑ ์ฆ๊ฐ€
      • ๊ฐ ์„œ๋ฒ„๊ฐ€ ์ง์ ‘ ๋ ˆ๋””์Šค์— ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ๊ฐ„ ์˜์กด์„ฑ์ด ์ค„์–ด๋“ค๊ณ , ์‹œ์Šคํ…œ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ


Before


After

2. ํ—ˆ๋ธŒ ๊ฐ„ ์ตœ์†Œ ์ด๋™ ๊ฒฝ๋กœ ์ •๋ณด ๊ด€๋ฆฌ


  • ๋ฌธ์ œ
    • ๊ฒฝ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค, ๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ํ—ˆ๋ธŒ ๊ฐ„ ์ตœ์†Œ ์ด๋™ ๊ฒฝ๋กœ ๊ณ„์‚ฐ ์‹œ ํ‰๊ท  TPS 289
    • ํ—ˆ๋ธŒ๊ฐ€ ์ถ”๊ฐ€๋กœ ๋งŒ๋“ค์–ด์งˆ์ˆ˜๋ก TPS ์ €ํ•˜ ์šฐ๋ ค
  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ
    • ๊ณ„์‚ฐ๋œ ํ—ˆ๋ธŒ ๊ฐ„ ์ตœ์†Œ ์ด๋™ ๊ฒฝ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ ˆ๋””์Šค ์„œ๋ฒ„์— ์บ์‹ฑ
  • ๊ฒฐ๋ก 
    • ๋ ˆ๋””์Šค์— ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ์—ฐ์‚ฐ ์‹œ ํ‰๊ท  TPS 11,865


Before


After

3. ๋™์‹œ์„ฑ ๋ฌธ์ œ ์ œ์–ด

  • ๋ฌธ์ œ
    • ์ƒํ’ˆ ์žฌ๊ณ  ๋ณ€๊ฒฝ ์‹œ ๋™์‹œ์„ฑ ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ
    • ํ—ˆ๋ธŒ/์—…์ฒด ๋ฐฐ์†ก ๋‹ด๋‹น์ž ์ถ”๊ฐ€ ๋˜๋Š” ๋ฐฐ์ • ์‹œ ๋™์‹œ์„ฑ ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ
  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ
    • ์ฒซ ๋ฒˆ์งธ ๋ฐฉ์•ˆ: ๋น„๊ด€์  ๋ฝ(Pessimestic_write) ์‚ฌ์šฉ

      • ๋ฌธ์ œ: ๊ณต์œ  ์ž์›์— ๋Œ€ํ•œ ์›์ž์„ฑ์„ ๋ณด์žฅํ•˜์˜€์œผ๋‚˜, ์ด๋กœ ์ธํ•ด TPS๊ฐ€ ์ €ํ•˜๋˜๋Š” ๋ฌธ์ œ ํ™•์ธ
    • ๋‘ ๋ฒˆ์งธ ๋ฐฉ์•ˆ: MySQL ์ด์ง„๋กœ๊ทธ ๋ฒ„ํผ ๊ฐœ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ๋กœ๊ทธ ๋ฒ„ํผ๋ฅผ ๋””์Šคํฌ์— ํ”Œ๋Ÿฌ์‹œํ•˜๋Š” ๋นˆ๋„๋ฅผ ๊ฐ์†Œ์‹œํ‚ด

      TPS๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๊ธฐ ์œ„ํ•œ DB ์„ค์ • ๋ณ€๊ฒฝ innodb_flush_log_at_trx_commit = 2
      innodb_thread_concurrency = 16
      sync_binlog = 1000
      • ๋ฌธ์ œ: ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ์™€ ์ด์ง„ ๋กœ๊ทธ๋ฅผ ์ฆ‰์‹œ ๋””์Šคํฌ์— ๊ธฐ๋กํ•˜์ง€ ์•Š๊ณ  ๋ฒ„ํผ์— ์ž„์‹œ ์ €์žฅํ•œ ํ›„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ TPS๊ฐ€ ํ–ฅ์ƒ๋˜์ง€๋งŒ, ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์€ ๊ฐ์†Œํ•˜๊ณ  ๋ณต์ œ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์ €ํ•˜ ์šฐ๋ ค
    • ์„ธ ๋ฒˆ์งธ ๋ฐฉ์•ˆ: Redis์˜ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ํŠน์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฃจ์•„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , DB ์—…๋ฐ์ดํŠธ๋ฅผ ๋น„๋™๊ธฐ ๋ฐฉ์‹๋กœ ์ „ํ™˜

  • ๊ฒฐ๋ก 
    • 138 -> 611 -> 3,015 ํ‰๊ท  TPS ์ฆ๊ฐ€


๋น„๊ด€์  ๋ฝ ์ ์šฉ ํ›„ TPS ์ธก์ • ๊ฒฐ๊ณผ


MySQL ์„ค์ • ๋ณ€๊ฒฝ ํ›„ TPS ์ธก์ • ๊ฒฐ๊ณผ


Redis ๋„์ž… ํ›„ TPS ์ธก์ • ๊ฒฐ๊ณผ

4 ๊ณ„์ธต ์•„ํ‚คํ…์ฒ˜

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋” ์„ธ๋ถ„ํ™”ํ•˜๊ณ , ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ๋ฅผ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด 4 ๊ณ„์ธต ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ

image

Interfaces Layer

  • ์š”์ฒญ์„ ์ „๋‹ฌ๋ฐ›๊ณ  ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—…์„ ํ•˜์œ„ ๊ณ„์ธต์— ์œ„์ž„
  • ์‘๋‹ต ์ „๋‹ฌ

Application Layer

  • ํ•˜๋‚˜์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ž‘์€ ๋‹จ์œ„์˜ ์ž‘์—…๋“ค์„ ์ •์˜ํ•˜๊ณ  ํ•˜์œ„ ๊ณ„์ธต์— ์ž‘์—… ์œ„์ž„
  • ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๋ฌถ์—ฌ์•ผ ํ•˜๋Š” ๋„๋ฉ”์ธ ๋กœ์ง์ด๋‚˜ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๋ฌถ์ผ ํ•„์š”๋Š” ์—†์ง€๋งŒ ์• ๊ทธ๋ฆฌ๊ฒŒ์ด์…˜์ด ํ•„์š”ํ•œ ๋กœ์ง ์ •์˜

Domain Layer

  • ๋„๋ฉ”์ธ ์ •์˜
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ž‘์„ฑ

Infrastructure Layer

  • ์ƒ์œ„ ๊ณ„์ธต์˜ ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ๊ธฐ์ˆ ์  ๊ธฐ๋Šฅ ์ œ๊ณต
  • ๋„๋ฉ”์ธ ์˜์†ํ™”, ๋ฉ”์‹œ์ง€ ์ „์†ก ๋“ฑ

ERD(Entity Relationship Diagram)

sparta

API ๋ฌธ์„œ

https://documenter.getpostman.com/view/42556921/2sAYkKHHAj

ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ์ž

๋ฌธ์ค€์˜ ๋ฐ•์ง€์˜ ์ž„๊ทœ์ง„ ์ด์„œ์šฐ
Github Github Github Github
Hub / Management Company / Product Order / Delivery User / Gateway

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •