Skip to content

iPho4ticket/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

ํ‹ฐ์ผ“ํŒ… ์„œ๋น„์Šค / iPHO : ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ํ‹ฐ์ผ“ํŒ… ์„œ๋น„์Šค

Leonardo_Phoenix_Create_a_vibrant_and_dynamic_main_image_for_t_0 (2)

๐ŸŒ ์„œ๋น„์Šค/ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๐ŸŽซ ํ‹ฐ์ผ“ํŒ… ํ”Œ๋žซํผ MSA ํ”„๋กœ์ ํŠธ

๋Œ€๊ทœ๋ชจ ์‚ฌ์šฉ์ž๊ฐ€ ๋ชฐ๋ฆฌ๋Š” ์ด๋ฒคํŠธ ํ‹ฐ์ผ“ํŒ… ๊ณผ์ •์—์„œ

๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์˜ˆ์•ฝ ์ฒ˜๋ฆฌ๋ฅผ ๋ณด์žฅํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ๊ธฐ๋Šฅ์„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ ์šด์˜ํ•˜๋ฉฐ,

๋ถ„์‚ฐ๋œ ์„œ๋น„์Šค๋“ค ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ

ํ‹ฐ์ผ“ ์˜ˆ์•ฝ ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ๋†’์€ ์ •ํ™•์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํ™•์žฅ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ชจ๋‘ ํ™•๋ณดํ•œ

์•ˆ์ •์ ์ธ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ์„œ๋น„์Šค/ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

ํ”„๋กœ์ ํŠธ ๋ชฉ์ : ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ‹ฐ์ผ“ํŒ… ์„œ๋น„์Šค

์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉ์ ์€ ๋‹ค์ˆ˜์˜ ๋™์‹œ ์ ‘์†์ž๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์•ˆ์ •์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ‹ฐ์ผ“ํŒ… ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ฃผ์š” ๋ชฉํ‘œ๋Š” ์‹ค์‹œ๊ฐ„ ์ขŒ์„ ์„ ํƒ, ๋ถ„์‚ฐ ์ž ๊ธˆ ์ฒ˜๋ฆฌ, ๋Œ€๊ธฐ์—ด ๊ด€๋ฆฌ ๋ฐ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Redis, Kafka์™€ ๊ฐ™์€ ๊ณ ์„ฑ๋Šฅ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์ด๊ณ , ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์—๋„ ๋น ๋ฅธ ์‘๋‹ต์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ์ธํ”„๋ผ ์„ค๊ณ„๋„

  • ์‹œ์Šคํ…œ ํ๋ฆ„๋„

    แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„’แ…ณแ„…แ…ณแ†ทแ„ƒแ…ฉ

  • ์ธํ”„๋ผ ์„ค๊ณ„๋„

    แ„‹แ…ตแ†ซแ„‘แ…ณแ„…แ…ก แ„€แ…ฎแ„Œแ…ฉแ„ƒแ…ฉ_แ„‰แ…ฎแ„Œแ…ฅแ†ผ_10-23-14-31

โš™๏ธ ์ฃผ์š” ๊ธฐ๋Šฅ

์ธ์ฆ

  • ์‹œํ๋ฆฌํ‹ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์œ ์ €์—์„œ ๋ถ„๋ฆฌ๋œ ๋ณ„๋„์˜ ์ธ์ฆ์„œ๋ฒ„

์ด๋ฒคํŠธ / ์ขŒ์„

  • ์ด๋ฒคํŠธ ๋ฐ ์ขŒ์„ ์ •๋ณด ์ƒ์„ฑ
  • ์ด๋ฒคํŠธ ๋ฐ ์ขŒ์„ ์ •๋ณด ์กฐํšŒ (์ขŒ์„ ์ •๋ณด ์บ์‹ฑ)

ํ‹ฐ์ผ“

  • ์ขŒ์„ ์ƒํƒœ์— ๋”ฐ๋ฅธ ํ‹ฐ์ผ“ ์˜ˆ์•ฝ (๋ถ„์‚ฐ๋ฝ)
  • ํ‹ฐ์ผ“ ์ƒ์„ฑ๊ณผ ํ•จ๊ป˜ ์ขŒ์„ ์ƒํƒœ ๋ณ€๊ฒฝ (๋น„๋™๊ธฐ Kafka)
  • ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ด๋ฒคํŠธ ๋ณ„ ๋‹ค์ค‘ ํ† ํ”ฝ ์ฒ˜๋ฆฌ

๊ฒฐ์ œ ๊ธฐ๋Šฅ

  • ์นด์นด์˜ค ๋ฐ๋ชจ ๊ฒฐ์ œ๋ฅผ ์ด์šฉํ•œ ๊ฒฐ์ œ ์‹œ์Šคํ…œ ์‹ค ์ฒดํ—˜ ๊ฐ€๋Šฅ
์นด์นด์˜คํŽ˜์ด ๊ฒฐ์ œ ํ๋ฆ„๋„

แ„แ…กแ„แ…กแ„‹แ…ฉแ„‘แ…ฆแ„‹แ…ต_แ„€แ…งแ†ฏแ„Œแ…ฆ_แ„’แ…ณแ„…แ…ณแ†ทแ„ƒแ…ฉ

๐Ÿ› ๏ธ ์ ์šฉ ๊ธฐ์ˆ 

๐Ÿ’ป Application Development and Frameworks

  • Java
  • Springboot

๐Ÿš€ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ์บ์‹ฑ

  • Caffeine
  • Redis

๐Ÿ“ฉ ๋ฉ”์‹œ์ง• ๋ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

  • Kafka

โ˜๏ธ ์ธํ”„๋ผ ๋ฐ ๋ฐฐํฌ

  • EC2
  • Docker
  • Docker Compose
  • RDS (PostgreSQL)
  • ElastiCache(Redis)
  • S3 - (Redis์˜ ์ •ํ•ฉ์„ฑ์„ ์œ„ํ•œ ๋ฐฑ์—… ์žฅ์น˜)
  • MSK - AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์™„์ „ ๊ด€๋ฆฌํ˜• Apache Kafka ์„œ๋น„์Šค

๐Ÿงช ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ๋ฐ ํ’ˆ์งˆ ๊ด€๋ฆฌ

  • Apache JMeter

๐Ÿค ํ˜‘์—… ๋ฐ ์†Œ์Šค ๊ด€๋ฆฌ

  • GitHub
  • Notion

๐Ÿ“ˆ ๋กœ๊ทธ ๊ด€๋ฆฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

  • ELK Stack (Elasticsearch, Logstash, Kibana)
  • Prometheus
  • Grafana

๐Ÿ“Š ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •

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

  • ๋ฌธ์ œ ์ƒํ™ฉ
    ๊ฒฐ์ œ ๊ณผ์ •์˜ ๋ณต์žก์„ฑ: ๊ฒฐ์ œ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ๊ฒฐ์ œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ๋•Œ ์ขŒ์„์„ ์–ด๋–ป๊ฒŒ ๋‹ค์‹œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ• ์ง€, ํ˜น์€ ๊ฒฐ์ œ ์ƒํƒœ์™€ ์ขŒ์„ ์˜ˆ์•ฝ ์ƒํƒœ ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ
    ๊ฒฐ์ œ ์‹œ์Šคํ…œ ๋ถ„๋ฆฌ: ์ขŒ์„ ์˜ˆ์•ฝ๊ณผ ๊ฒฐ์ œ ์‹œ์Šคํ…œ์„ ๊ฐ๊ฐ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฒฐ์ œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ขŒ์„ ์˜ˆ์•ฝ ๊ณผ์ •์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ์ œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ขŒ์„์„ ํ™•์ •ํ•˜๊ณ , ๊ฒฐ์ œ ์‹คํŒจ ์‹œ ์ขŒ์„์„ ๋‹ค์‹œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์˜๊ฒฌ ์กฐ์œจ
    ์„ฑ๋Šฅ vs. ์ •ํ•ฉ์„ฑ: ํŒ€ ๋‚ด์—์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”์™€ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๊ฐ„์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ๋ถ€๋ถ„์—์„œ ๋…ผ์˜๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ขŒ์„ ์˜ˆ์•ฝ๊ณผ ๊ฒฐ์ œ๋ฅผ ์™„์ „ํžˆ ๋ถ„๋ฆฌํ•˜๋ฉด ์„ฑ๋Šฅ์€ ๋†’์•„์ง€์ง€๋งŒ, ๊ฒฐ์ œ ์‹คํŒจ ์‹œ ์ขŒ์„์ด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋ ์ง€์— ๋Œ€ํ•œ ์ •ํ•ฉ์„ฑ ๋ฌธ์ œ๊ฐ€ ์ค‘์š”ํ•˜๊ฒŒ ๋‹ค๋ค„์กŒ์Šต๋‹ˆ๋‹ค.

  • ์ตœ์ข… ์˜์‚ฌ ๊ฒฐ์ •
    ์ขŒ์„ ์˜ˆ์•ฝ๊ณผ ๊ฒฐ์ œ์˜ ์™„์ „ํ•œ ๋ถ„๋ฆฌ: ์ขŒ์„ ์˜ˆ์•ฝ๊ณผ ๊ฒฐ์ œ ๊ณผ์ •์„ ์™„์ „ํžˆ ๋ถ„๋ฆฌํ•˜๊ณ , ์ž„์‹œ ์ขŒ์„ ์˜ˆ์•ฝ์€ Redis์— ์ €์žฅํ•˜๋ฉฐ, ๊ฒฐ์ œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ขŒ์„์„ DB์— ์ตœ์ข…์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ์ œ ์‹คํŒจ ์‹œ ์ขŒ์„์„ ์ž๋™์œผ๋กœ ํ•ด์ œํ•˜๋„๋ก TTL์„ ์„ค์ •ํ•˜์—ฌ, ์ขŒ์„์ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ ์œ ๋˜์ง€ ์•Š๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์บ์‹œ ์„ ์ • (Redis vs Caffeine)
  • ๋„์ž… ์ด์œ 
    ๋ณธ ํ‹ฐ์ผ€ํŒ… ์„œ๋น„์Šค์—์„œ๋Š”ย ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ์ขŒ์„ ์„œ๋น„์Šค์˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ดย Redis ์บ์‹œ๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.ย ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ขŒ์„ ์„œ๋น„์Šค์— Redis์˜ย ๋ถ„์‚ฐ ์บ์‹œย ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ์•ˆ์ •์ ์ด๊ณ  ๋น ๋ฅธ ์บ์‹ฑ์„ ๊ตฌํ˜„ํ•˜์˜€๊ณ , ํŠธ๋ž˜ํ”ฝ์ด ์ง‘์ค‘๋˜๋Š” ํ•ต์‹ฌ ์„œ๋น„์Šค์— ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด,ย ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ์ƒ๋Œ€์ ์œผ๋กœ ์šฐ์„ ๋„๊ฐ€ ๋‚ฎ์€ ๊ธฐ๋Šฅ์—๋Š” ๋กœ์ปฌ ์บ์‹œ(Caffeine Cache) ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ์€ ๋น ๋ฅธ ์‘๋‹ต์ด ํ•„์š”ํ•˜์ง€๋งŒ ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์—ย Caffeine์ด ์ ํ•ฉํ•˜๋‹ค๊ณ  ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

  • ๋ฌธ์ œ ์ƒํ™ฉ
    Redis๋Š” ์ขŒ์„ ์„œ๋น„์Šค์™€ ๊ฐ™์€ย ํ•ต์‹ฌ ๊ธฐ๋Šฅ์—์„œ ๋งค์šฐ ์œ ์šฉํ•˜์ง€๋งŒ,ย ๋ชจ๋“  ๊ธฐ๋Šฅ์— Redis๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ž์› ๋‚ญ๋น„๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ,ย ๋กœ๊ทธ์ธ๊ณผ ๊ฐ™์€ ๋น„๊ต์  ์ ์€ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ•˜๋Š” ์„œ๋น„์Šค์—์„œ Redis๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”์„ฑ์ด ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๊ฐ ๊ธฐ๋Šฅ์— ๋งž๋Š”ย ํšจ์œจ์ ์ธ ์บ์‹œ ์ „๋žต์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

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

  • ์ตœ์ข… ์˜์‚ฌ ๊ฒฐ์ •
    ๊ฒฐ๋ก ์ ์œผ๋กœ,ย ์ขŒ์„ ์„œ๋น„์Šค์™€ ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์—๋Š”ย Redis๋ฅผ,ย ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๋ถ€ํ•˜๊ฐ€ ์ ์€ ๊ธฐ๋Šฅ์—๋Š”ย Caffeine Cache๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ตœ์ข… ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด,ย ํ•ต์‹ฌ ๊ธฐ๋Šฅ์—์„œ๋Š” ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ณ ,ย ๋น„ํ•ต์‹ฌ ๊ธฐ๋Šฅ์—์„œ๋Š” ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๋ถ„๋ฐฐํ•˜์—ฌ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๋ฉด์„œ๋„ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ถ„์‚ฐ๋ฝ ์ ์šฉ (Redis ๋ถ„์‚ฐ๋ฝ)
  • ๋„์ž… ์ด์œ 
    ์ขŒ์„ ์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ ๋™์‹œ์„ฑ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•จ.

  • ๋ฌธ์ œ ์ƒํ™ฉ

    • ์ขŒ์„ ์˜ˆ์•ฝ/๊ฒฐ์ œ ์™„๋ฃŒ/๊ฒฐ์ œ ์ทจ์†Œ์— ๋”ฐ๋ผ ์ขŒ์„ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณผ์ •์—์„œ ์ขŒ์„ ์ƒํƒœ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ ๋ฐœ์ƒ
    • ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๋™์ผํ•œ ์ขŒ์„์„ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ ์ค‘๋ณต์˜ˆ์•ฝ์˜ ๋ฌธ์ œ ๋ฐœ์ƒ
  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

  1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ ํƒ: Lettuce vs. Redisson

    Lettuce ๋‹จ์ :

    • ์Šคํ•€๋ฝ ํ˜•ํƒœ๋กœ Redis์— ๋งŽ์€ ๋ถ€ํ•˜๋ฅผ ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ.
    • ํƒ€์ž„์•„์›ƒ ์ฒ˜๋ฆฌ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋ฌดํ•œ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ์ธํ•œ ์‹œ์Šคํ…œ ์žฅ์•  ๊ฐ€๋Šฅ์„ฑ ์กด์žฌ.

    Redisson ์žฅ์ :

    • Pub/Sub ๋ฐฉ์‹์œผ๋กœ Redis ๋ถ€ํ•˜๋ฅผ ์ค„์ž„.
    • ํƒ€์ž„์•„์›ƒ ์„ค์ •์„ ํ†ตํ•ด ๋ฌดํ•œ ๋Œ€๊ธฐ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Œ.
  2. ์˜ˆ์ƒ๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

    ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ๋ฝ ํ•ด์ œ์™€ ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ์‚ฌ์ด์— ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๊ฐ€ ๋ฝ์„ ํš๋“ํ•˜์—ฌ ์•„์ง ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ.

    • ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ์†์„ฑ ํ™œ์šฉ: REQUIRES_NEW ์ „ํŒŒ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ„๋„์˜ ํŠธ๋žœ์žญ์…˜์—์„œ ๋ฝ์„ ์ฒ˜๋ฆฌ.

      @Transactional(propagation = Propagation.REQUIRES_NEW)
  • ์˜๊ฒฌ ์กฐ์œจ
    Redisson ์‚ฌ์šฉ๊ณผ ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ์†์„ฑ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๋™์‹œ์— ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋…ผ์˜.

  • ์ตœ์ข… ์˜์‚ฌ ๊ฒฐ์ •
    Redisson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Redis ๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐ๋ฝ์„ ๊ตฌํ˜„ํ•˜๊ณ , ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ ์†์„ฑ์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜์—ฌ ์ตœ์ ์˜ ์„ฑ๋Šฅ๊ณผ ์ •ํ•ฉ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

Redis๋ฅผ ์ด์šฉํ•œ ์กฐํšŒ ์บ์‹ฑ ์ฒ˜๋ฆฌ (์ฒ˜๋ฆฌ๋Ÿ‰ 28.8/sec โ†’ 44.6/sec)

Before

redis_be

After

redis_af

๊ฐœ์„  ๋ฐฉ๋ฒ•: ์กฐํšŒ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์„ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ๋˜๋Š” ์ขŒ์„ ์กฐํšŒ์— Redis๋ฅผ ํ†ตํ•œ ์บ์‹ฑ์œผ๋กœ ์„ฑ๋Šฅ ํ–ฅ์ƒ

Gateway์—์„œ ์œ ์ € ์ธ์ฆ ์ •๋ณด๋ฅผ ๊ฒ€์ฆ์„ ์œ„ํ•œ caffeine cache ์ ์šฉ (์ฒ˜๋ฆฌ๋Ÿ‰ 323.9/sec โ†’ 398.1/sec)

Before

gateway_be

After

gateway_af

๊ฐœ์„  ๋ฐฉ๋ฒ•: Gateway ๋‚ด๋ถ€์—์„œ Caffeine ์บ์‹œ๋ฅผ ํ†ตํ•œ ์œ ์ € ๊ฒ€์ฆ ์ •๋ณด ์บ์‹ฑ

์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ •: redis๋ฅผ ์ด์šฉํ•œ ์บ์‹ฑ์ฒ˜๋ฆฌ๋ฅผ ํ• ๊นŒ๋„ ๊ณ ๋ฏผํ–ˆ์ง€๋งŒ ๋ฉ”์ธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์•„๋‹ˆ๊ณ  ๋ถ€ํ•˜๊ฐ€ ์—„์ฒญ ํด ๊ฒƒ์œผ๋กœ ๋ณด์ด์ง€ ์•Š์•„ Caffeine ์บ์‹œ๋กœ ํ•ด๊ฒฐ

ํ‹ฐ์ผ“ ์˜ˆ๋งค ์„œ๋น„์Šค์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ Kafka ๋„์ž… (์ฒ˜๋ฆฌ๋Ÿ‰ 1000๊ฑด 141.4/sec โ†’ 30000๊ฑด 492.7/sec)

Before

ticket_be

After

ticket_af

๊ฐœ์„  ๋ฐฉ๋ฒ•: ํ‹ฐ์ผ“ ์˜ˆ์•ฝ ๊ณผ์ •์—์„œ ๊ธฐ์กด์—๋Š” ๋™๊ธฐ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•˜์˜€์ง€๋งŒ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์„ ๊ฒฌ๋”œ ์ˆ˜ ์—†์–ด ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์ธ Kafka๋ฅผ ์‚ฌ์šฉ

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

๋ฒ„๊ทธ๋ฐ”์šดํ‹ฐ - ๊ฒฐ์ œ

๋ฌธ์ œ ์ •์˜ : ๋ฒ„๊ทธ๋ฐ”์šดํ‹ฐ๋ฅผ ์ง„ํ–‰ํ•˜๋˜ ๋„์ค‘ ์ค‘๋ณต ๊ฒฐ์ œ ๋ฐœ์ƒ์— ๊ด€ํ•œ ๋ถ€๋ถ„ ๋ฐœ๊ฒฌ

์ฆ์ƒ : ํ•˜๋‚˜์˜ ํ‹ฐ์ผ“์— ๋Œ€ํ•ด 2๊ฐœ ์ด์ƒ์˜ ๊ฒฐ์ œ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉฐ ๊ฒฐ์ œ๊ฐ€ ์ด๋ฃจ์–ด์ง

์›์ธ ๋ถ„์„ :

์นด์นด์˜คํŽ˜์ด ๊ฒฐ์ œ๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ฒฐ์ œ ์š”์ฒญ๊ณผ ์Šน์ธ์˜ 2๋‹จ๊ณ„๋กœ ์ง„ํ–‰
๊ฒฐ์ œ ์š”์ฒญ ์‹œ ์‹ค์ œ ๊ฒฐ์ œ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” redirect_url์„ ์ œ๊ณต
ํ•˜์ง€๋งŒ ํ•ด๋‹น url์„ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜ํ™˜๋งŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น url์„ ๋ถ„์‹ค ์‹œ ๊ฒฐ์ œ๋ฅผ ์ง„ํ–‰ ํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ โ†’ ๋”ฐ๋ผ์„œ ์ƒˆ๋กœ์šด ๊ฒฐ์ œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„
๋‹ค๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฐ์ œ url์„ ์ €์žฅํ•ด๋‘๊ณ  ์ƒˆ๋กœ ๋ฐœ๊ธ‰ ๋ฐ›์€ url ์ด 2๊ฐ€์ง€ ๊ฒฐ์ œ๋ฅผ ์ง„ํ–‰ ์‹œ ์ค‘๋ณต ๊ฒฐ์ œ ๋ฐœ์ƒ

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ์ƒˆ๋กœ์šด ๊ฒฐ์ œ url์„ ๋ฐœ๊ธ‰ ์‹œ ๊ธฐ์กด ๊ฒฐ์ œ์—์„œ ์ €์žฅ๋œ tid(๊ฒฐ์ œ id)๋ฅผ ๋ฎ์–ด์”Œ์šฐ๊ธฐ๋ฅผ ํ•˜์—ฌ ๊ธฐ์กด์˜ ๊ฒฐ์ œ url์„ ๋ฌด๋ ฅํ™”

๊ฒฐ๊ณผ ๋ฐ ํ™•์ธ : ํ•ด๋‹น ๋ฐฉ๋ฒ•์„ ์ ์šฉ ํ›„ ๊ฒฐ์ œ๊ฐ€ ์š”์ฒญ ์ˆ˜ ๋งŒํผ ์ƒ๊ธฐ์ง€ ์•Š๊ณ  url์„ ์ƒˆ๋กœ ๋ฐœ๊ธ‰ ๋ฐ›์•„๋„ ์ค‘๋ณต ๊ฒฐ์ œ๋ฅผ ๋ฐฉ์ง€

๐Ÿ‘ฅ CONTRIBUTORS

ํŒ€์›๋ช… ํฌ์ง€์…˜ ๋‹ด๋‹น(๊ฐœ์ธ๋ณ„ ๊ธฐ์—ฌ์ ) ๊นƒํ—ˆ๋ธŒ ๋งํฌ
๋ฐ•ํƒœ์–ธ ์‚ฌ์šฉ์ž ์ธ์ฆ/์ธ๊ฐ€ โ–ถ ์ธ์ฆ ๋ฐ ์ธ๊ฐ€ ์„œ๋น„์Šค
- JWT ๊ธฐ๋ฐ˜ ์ธ์ฆ ๋ฐ ์ธ๊ฐ€ ์„œ๋น„์Šค ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„
- ์ธ์ฆ ํ† ํฐ ๊ฒ€์ฆ ๋ฐ ์ฒ˜๋ฆฌ ๋กœ์ง ๊ฐœ๋ฐœ
- ์ธ์ฆ/์ธ๊ฐ€ ๊ด€๋ จ ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹  ๋ฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
โ–ถ ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค
- MSA ํ™˜๊ฒฝ์„ ์œ„ํ•œ ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค ๊ตฌ์ถ•
- Caffeine ์บ์‹œ๋ฅผ ํ™œ์šฉํ•œ ์บ์‹ฑ ๋กœ์ง ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„
โ–ถ ์œ ์ € ์„œ๋น„์Šค
- ์œ ์ € ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„
- ๋‚ด๋ถ€ ํ†ต์‹  ๋ฐ ๊ธฐ๋ณธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
GitHub tellang
์ „์„๋ฐฐ ๊ฒฐ์ œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ โ–ถ ๊ฒฐ์ œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ
- ์‹ค์ œ ์˜ˆ์•ฝ๋œ ํ‹ฐ์ผ“์— ๋Œ€ํ•œ ๊ฒฐ์ œ ์„œ๋น„์Šค ์ œ๊ณต
- ์นด์นด์˜คํŽ˜์ด ๊ฒฐ์ œ๋ฅผ ์—ฐ๋™ํ•˜์—ฌ ์‹ค ๊ฒฐ์ œ ์ฒดํ—˜
โ–ถ AWS ์ธํ”„๋ผ ๊ตฌ์„ฑ ๋ฐ ์•„ํ‚คํ…์ณ ์„ค๊ณ„
- RDS, ElastiCache, S3, EC2 ๊ตฌ์„ฑ
โ–ถ ๋กœ๊ทธ ๊ด€๋ฆฌ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ตฌ์ถ•
- ELK๋ฅผ ํ†ตํ•œ MSA ํ™˜๊ฒฝ ํ†ตํ•ฉ ๋กœ๊ทธ ์ˆ˜์ง‘
- Grafana & Prometheus ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง
GitHub SerenityZenDev
๋ฐ•์ฃผ์› ๊ณต์—ฐ/์ขŒ์„ ์„œ๋น„์Šค ๊ฐœ๋ฐœ โ–ถ ๊ณต์—ฐ/์ขŒ์„ ์„œ๋น„์Šค ๊ฐœ๋ฐœ
- ๋‹ค์ˆ˜์˜ ๊ณต์—ฐ ์ •๋ณด์™€ ์—ฐ๊ด€๋œ ์ขŒ์„๋“ค๋กœ ํ‹ฐ์ผ“ํŒ…์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ๊ด€๋ฆฌ
- ํ‹ฐ์ผ“ ์„œ๋น„์Šค์™€ Kafka ๋น„๋™๊ธฐ ํ†ต์‹ ์œผ๋กœ, ํ‹ฐ์ผ“์ด ์ƒ์„ฑ/์ทจ์†Œ ์‹œ์˜ ์ขŒ์„ ๋ณ€๊ฒฝ ํ”Œ๋กœ์šฐ ๊ฐœ๋ฐœ
- Redis๋ฅผ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ์ขŒ์„ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
GitHub juoonge
์ตœํ˜„ ํ‹ฐ์ผ“ ์„œ๋น„์Šค ๊ฐœ๋ฐœ โ–ถ ํ‹ฐ์ผ“ ์„œ๋น„์Šค ๊ฐœ๋ฐœ
- ๊ณต์—ฐ/์ขŒ์„์— ๋Œ€ํ•œ ํ‹ฐ์ผ“์„ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ
- ๊ณต์—ฐ/์ขŒ์„ ์„œ๋น„์Šค์™€ Kafka ๋น„๋™๊ธฐ ํ†ต์‹ ์œผ๋กœ, ํ‹ฐ์ผ“์˜ ์ƒํƒœ์— ๋”ฐ๋ฅธ ๊ณต์—ฐ/์ขŒ์„ ๋ณ€๊ฒฝ ํ”Œ๋กœ์šฐ ๊ฐœ๋ฐœ
โ–ถ ECS, MSK, Elastic Cache, RDS๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ ๊ตฌ์ถ•
GitHub CZ-punk

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •