Skip to content

sik2Boii/mingling-backend

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

298 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค Mingling Backend โ€” ํฌํŠธํด๋ฆฌ์˜ค

Mingling์€ ์•ฝ์† ๋ฐ ๋ชจ์ž„ ์ฐธ์—ฌ์ž๋“ค์˜ ์ถœ๋ฐœ์—ญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ์˜ ์ค‘๊ฐ„ ์ง€์ ์„ ์ถ”์ฒœํ•˜๊ณ  ๋ชจ์ž„ ๋ชฉ์ ์— ๋งž๋Š” ์žฅ์†Œ๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์›น์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.


๐Ÿ”— ์„œ๋น„์Šค ๋งํฌ

Mingling


๐Ÿ“ธ ์„œ๋น„์Šค ํ™”๋ฉด (Preview)

1. ๋ชจ์ž„ ์ƒ์„ฑ

2. ๋ชจ์ž„ ์ฐธ์—ฌ

3. ์ถœ๋ฐœ์ง€ ๋“ฑ๋ก

4. ์ค‘๊ฐ„์ง€์  ๊ฒฐ๊ณผ๋ณด๊ธฐ

5. ์žฅ์†Œ ์ถ”์ฒœ


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

ํ•ญ๋ชฉ ๋‚ด์šฉ
๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ 2025.12 ~ 2026.02
์—ญํ•  ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ (๋ฐฑ์—”๋“œ 4์ธ ์ค‘ 1์ธ)
์ƒํƒœ ์‹ค๋ฐฐํฌ ์šด์˜ ์ค‘

๐Ÿ‘ฅ ํŒ€ ๊ตฌ์„ฑ ๋ฐ ํ˜‘์—…

์ด 10๋ช… ํŒ€ ํ”„๋กœ์ ํŠธ

์—ญํ•  ์ธ์›
PM 1๋ช…
๋””์ž์ด๋„ˆ 3๋ช…
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž 2๋ช…
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž 4๋ช…

๋‹ด๋‹น ์—…๋ฌด

  • ์™ธ๋ถ€ API ์—ฐ๋™: ์ค‘๊ฐ„ ์ง€์  ์ถ”์ฒœ์— ํ•„์š”ํ•œ ์™ธ๋ถ€ API ์—ฐ๋™ ๋ฐ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต
  • Redis ์บ์‹ฑ ์„ค๊ณ„: ์™ธ๋ถ€ API ํ˜ธ์ถœ ํšŸ์ˆ˜ ์ œํ•œ ๋ฌธ์ œ๋ฅผ Redis ์บ์‹ฑ ์ „๋žต์œผ๋กœ ํ•ด๊ฒฐ

ํ˜‘์—… ๋ฐฉ์‹

  • Jira ๊ธฐ๋ฐ˜ ์ด์Šˆ ํŠธ๋ž˜ํ‚น ๋ฐ ์Šคํ”„๋ฆฐํŠธ ๊ด€๋ฆฌ
  • Swagger ๊ธฐ๋ฐ˜ API ๋ช…์„ธ ๊ณต์œ ๋กœ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๊ฐœ๋ฐœ์ž์™€์˜ ๋ช…์„ธ ๊ณต์œ 
  • AngularJS ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ ์ค€์ˆ˜
  • GitHub PR ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค (์ปค๋ฐ‹ ์ปจ๋ฒค์…˜, ๋ธŒ๋žœ์น˜ ์ „๋žต)

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

๋ถ„๋ฅ˜ ๊ธฐ์ˆ 
Backend Spring Boot 4.0.1, Java 21
Database MariaDB
Cache Redis
Documentation Swagger
DevOps Docker, Nginx, GitHub Actions
Cloud ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ

๐Ÿ— ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

Image

ํ•ต์‹ฌ ์„ค๊ณ„ ํฌ์ธํŠธ

  • Cache-Aside ํŒจํ„ด ๊ธฐ๋ฐ˜ Redis ์บ์‹ฑ์œผ๋กœ ์™ธ๋ถ€ API ํ˜ธ์ถœ ์ตœ์†Œํ™” ๋ฐ ์‘๋‹ต ์†๋„ ๊ฐœ์„ 
  • ๊ธฐํ•˜ํ•™์  ์ค‘์‹ฌ ๊ณ„์‚ฐ -> ํ›„๋ณด ์ง€์  ์„ ๋ณ„ -> ํŽธ์ฐจ ๊ธฐ๋ฐ˜ ๊ณต์ •์„ฑ ํ‰๊ฐ€์˜ ๋‹ค๋‹จ๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ณต์ •ํ•˜๋ฉด์„œ๋„ ํšจ์œจ์ ์ธ ์ค‘๊ฐ„ ์ง€์ ์„ ์ถ”์ฒœ

โšก ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

์™ธ๋ถ€ API ํ˜ธ์ถœ ํšŸ์ˆ˜ ์ œํ•œ โ€” Redis ์บ์‹ฑ์œผ๋กœ ํ•ด๊ฒฐ

๋ฌธ์ œ ์ƒํ™ฉ

  • ์ค‘๊ฐ„ ์ง€์ ์ด ์‚ฐ์ถœ๋œ ํ›„ ์žฅ์†Œ ์ถ”์ฒœ ๊ธฐ๋Šฅ์—์„œ ์™ธ๋ถ€ API๋ฅผ ํ™œ์šฉํ•˜๋Š”๋ฐ API ํ˜ธ์ถœ ํšŸ์ˆ˜ ์ œํ•œ(1,000ํšŒ/์ผ)์ด ์กด์žฌํ•จ
  • ๋™์ผํ•œ ์ถœ๋ฐœ์—ญ ์กฐํ•ฉ์— ๋Œ€ํ•ด ๋งค๋ฒˆ API๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์ œํ•œ์— ๋น ๋ฅด๊ฒŒ ๋„๋‹ฌํ•˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ

ํ•ด๊ฒฐ ๋ฐฉ์•ˆ ๊ฒ€ํ† 

๋ฐฉ๋ฒ• ์žฅ์  ๋‹จ์ 
๋กœ์ปฌ ์บ์‹œ ๋ณ„๋„ ์ธํ”„๋ผ ๋ถˆํ•„์š” ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ์‹œ ์บ์‹œ ์†Œ๋ฉธ
Redis ์บ์‹ฑ ์˜์†์  ์บ์‹œ, ๋น ๋ฅธ ์‘๋‹ต ์†๋„ ๋ณ„๋„ ์ธํ”„๋ผ ํ•„์š”
  • ์„ธ์…˜ ๊ด€๋ฆฌ์šฉ์œผ๋กœ ๊ธฐ๋„์ž…๋œ Redis ํ™˜๊ฒฝ์„ ๊ณต์œ ํ•˜์—ฌ ๋ณ„๋„ ์ธํ”„๋ผ ๊ตฌ์ถ• ๋น„์šฉ ์—†์ด ์ฆ‰์‹œ ์ ์šฉ ๊ฐ€๋Šฅํ–ˆ๊ณ  ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ํœ˜๋ฐœ๋˜๋Š” ๋กœ์ปฌ ์บ์‹œ๋Š” API ์ฟผํ„ฐ ์ ˆ๊ฐ ํšจ๊ณผ๋ฅผ ์ง€์†ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ Redis ์ฑ„ํƒ.

ํ•ด๊ฒฐ

  • ๋™์ผํ•œ ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•œ ์‘๋‹ต์„ Redis์— ์บ์‹ฑ
  • ์บ์‹œ ํžˆํŠธ ์‹œ ์™ธ๋ถ€ API ํ˜ธ์ถœ ์—†์ด ์ฆ‰์‹œ ์‘๋‹ต ๋ฐ˜ํ™˜

๊ฒฐ๊ณผ

๐Ÿ“Ž ์‘๋‹ต ์‹œ๊ฐ„ ์ธก์ • ๊ฒฐ๊ณผ: 1,200ms -> 14ms (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)

์ ์šฉ ์ „

Image

์ ์šฉ ํ›„

Image

โšก 1,200ms โ†’ 14ms (์•ฝ 85๋ฐฐ ๊ฐœ์„ )
โœ… ์™ธ๋ถ€ API ํ˜ธ์ถœ ํšŸ์ˆ˜ ์ ˆ๊ฐ
โœ… API ์ œํ•œ ์ดˆ๊ณผ ์žฅ์•  ๋ฐฉ์ง€

๐Ÿ“‚ ์ฃผ์š” ๊ธฐ๋Šฅ

๊ธฐ๋Šฅ ์„ค๋ช…
๋ชจ์ž„ ์ƒ์„ฑ ๋ชจ์ž„ ์ƒ์„ฑ ๋ฐ ์ฐธ์—ฌ ๋งํฌ ๋ฐœ๊ธ‰
๋ชจ์ž„ ์ฐธ์—ฌ ๋งํฌ๋ฅผ ํ†ตํ•œ ๋ชจ์ž„ ์ฐธ์—ฌ
์ถœ๋ฐœ์ง€ ๋“ฑ๋ก ์ฐธ์—ฌ์ž๋ณ„ ์ถœ๋ฐœ์—ญ ๋“ฑ๋ก
์ค‘๊ฐ„์ง€์  ์ถ”์ฒœ ์ถœ๋ฐœ์—ญ ๊ธฐ๋ฐ˜ ์ตœ์  ์ค‘๊ฐ„ ์ง€์  ๊ณ„์‚ฐ
์žฅ์†Œ ์ถ”์ฒœ ์ค‘๊ฐ„ ์ง€์  ์ฃผ๋ณ€ ๋ชจ์ž„ ๋ชฉ์ ์— ๋งž๋Š” ์žฅ์†Œ ํƒ์ƒ‰

๐Ÿš€ ๋ฐฐํฌ ๊ตฌ์กฐ

GitHub Actions (๋นŒ๋“œ)
        โ†“
NCP Container Registry (Docker ์ด๋ฏธ์ง€ Push)
        โ†“
NCP ์„œ๋ฒ„ SSH ์ ‘์† -> ์ตœ์‹  ์ด๋ฏธ์ง€ Pull -> ์•ฑ ์ปจํ…Œ์ด๋„ˆ ์žฌ๊ธฐ๋™
        โ†“
Health Check ํ†ต๊ณผ ํ›„ ์ด์ „ ์ด๋ฏธ์ง€ ์ •๋ฆฌ

๐Ÿ“Š ERD

Image

๐Ÿ“„ API ๋ฌธ์„œ

๐Ÿ‘‰ Mingling Swagger UI ๋ฐ”๋กœ๊ฐ€๊ธฐ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 98.6%
  • Shell 1.1%
  • Dockerfile 0.3%