Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

239 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Backend Services

์Šคํฌ๋ฆฐ์ƒท 2025-10-30 142603 ์Šคํฌ๋ฆฐ์ƒท 2025-10-30 142652

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

์‚ฌ์šฉ์ž์˜ ์Šค๋งˆํŠธํฐ ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ๋ถ„์„ํ•˜์—ฌ ์˜๋ฏธ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” MSA ๊ธฐ๋ฐ˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Client (Mobile)                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
                     โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              Spring Cloud Gateway (8088)                โ”‚
โ”‚          - Routing                                      โ”‚
โ”‚          - Load Balancing                               โ”‚
โ”‚          - API Aggregation                              โ”‚
โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
    โ”‚                  โ”‚                  โ”‚
    โ–ผ                  โ–ผ                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  User   โ”‚    โ”‚    Usage     โ”‚   โ”‚  Insight    โ”‚
โ”‚ Service โ”‚    โ”‚   Service    โ”‚   โ”‚  Service    โ”‚
โ”‚ (8080)  โ”‚    โ”‚   (8080)     โ”‚   โ”‚  (8080)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     โ”‚                โ”‚                   โ”‚
     โ–ผ                โ–ผ                   โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                Infrastructure Layer                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚PostgreSQLโ”‚  โ”‚  Redis   โ”‚  โ”‚  Kafka (Event Bus)   โ”‚  โ”‚
โ”‚  โ”‚   (DB)   โ”‚  โ”‚ (Cache)  โ”‚  โ”‚  - user_signup       โ”‚  โ”‚
โ”‚  โ”‚          โ”‚  โ”‚          โ”‚  โ”‚  - user_login        โ”‚  โ”‚
โ”‚  โ”‚          โ”‚  โ”‚          โ”‚  โ”‚  - usage_events      โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ ์„œ๋น„์Šค ๊ตฌ์„ฑ

1. UserService (ํฌํŠธ: 8080)

  • ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๊ด€๋ฆฌ
  • JWT ๊ธฐ๋ฐ˜ ์ธ์ฆ
  • Redis ์„ธ์…˜ ๊ด€๋ฆฌ (DB 0)
  • Kafka ์ด๋ฒคํŠธ ๋ฐœํ–‰ (user_signup, user_login, user_logout ๋“ฑ)

์ฃผ์š” ๊ธฐ๋Šฅ:

  • ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ
  • ํ”„๋กœํ•„ ๊ด€๋ฆฌ
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ
  • ๊ณ„์ • ๋น„ํ™œ์„ฑํ™”

์ƒ์„ธ ๋ฌธ์„œ โ†’


2. UsageService (ํฌํŠธ: 8080)

  • ์•ฑ ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„
  • ์‹ค์‹œ๊ฐ„ ์‚ฌ์šฉ๋Ÿ‰ ์ง‘๊ณ„
  • ์ผ์ผ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ
  • Redis ์บ์‹ฑ (DB 1)

์ฃผ์š” ๊ธฐ๋Šฅ:

  • ์•ฑ ์‚ฌ์šฉ ์ด๋ฒคํŠธ ์ˆ˜์ง‘ (FOREGROUND/BACKGROUND)
  • ์‹ค์‹œ๊ฐ„ ํ†ต๊ณ„ (24์‹œ๊ฐ„ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ)
  • ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์‚ฌ์šฉ ์‹œ๊ฐ„ ์ง‘๊ณ„
  • Top 3 ์•ฑ ์ถ”์ 

์ƒ์„ธ ๋ฌธ์„œ โ†’


3. Gateway (ํฌํŠธ: 8088)

  • Spring Cloud Gateway
  • ๋ผ์šฐํŒ… ๋ฐ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ
  • API ๊ฒŒ์ดํŠธ์›จ์ด

๋ผ์šฐํŒ… ๊ทœ์น™:

  • /users/** โ†’ UserService
  • /usage/** โ†’ UsageService
  • /insights/** โ†’ InsightService

์ƒ์„ธ ๋ฌธ์„œ โ†’


4. InsightService (ํฌํŠธ: 8080)

  • Python AI ๋ชจ๋ธ๋ง ํ”„๋กœ์ ํŠธ์—์„œ ์ด์‹๋œ ํ†ต๊ณ„ ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์ž ๋ถ„๋ฅ˜ ๋กœ์ง์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ํŒจํ„ด ๋ถ„์„ ๋ฐ ์ธ์‚ฌ์ดํŠธ ์ƒ์„ฑ

์ƒ์„ธ ๋ฌธ์„œ โ†’


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

๋ถ„๋ฅ˜ ๊ธฐ์ˆ 
์–ธ์–ด Java 21
ํ”„๋ ˆ์ž„์›Œํฌ Spring Boot 3.2.0, Spring Cloud Gateway
๋นŒ๋“œ ๋„๊ตฌ Gradle 8.5
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค PostgreSQL 15, TimescaleDB
์บ์‹œ Redis 7
๋ฉ”์‹œ์ง€ ํ Apache Kafka 3.6
์ปจํ…Œ์ด๋„ˆ Docker, Kubernetes
๋ชจ๋‹ˆํ„ฐ๋ง Spring Actuator, Prometheus, Grafana

๐Ÿ“ฆ ๋น ๋ฅธ ์‹œ์ž‘

์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

  • Java 21
  • Docker & Docker Compose
  • Kubernetes (Docker Desktop ๋˜๋Š” Minikube)
  • kubectl

1. ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (Docker Compose)

# ์ธํ”„๋ผ ์„œ๋น„์Šค ์‹คํ–‰ (PostgreSQL, Redis, Kafka)
docker-compose -f build-docker-compose.yml up -d

2. Kubernetes ๋ฐฐํฌ

# 1. Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ
./build-images.sh

# 2. ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ƒ์„ฑ
kubectl apply -f k8s/namespace.yaml

# 3. Secrets ์ƒ์„ฑ
kubectl apply -f k8s/secrets/

# 4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฐํฌ
kubectl apply -f k8s/databases/

# 5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ
kubectl apply -f k8s/apps/

# 6. ๋ฐฐํฌ ์ƒํƒœ ํ™•์ธ
kubectl get pods -n screentimeai
kubectl get svc -n screentimeai

3. API ํ…Œ์ŠคํŠธ

# Gateway๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž ๋“ฑ๋ก
curl -X POST http://localhost:30088/users/signup \
  -H "Content-Type: application/json" \
  -d '{
    "nickname": "testuser",
    "password": "password123",
    "category": "STUDENT"
  }'

# ๋กœ๊ทธ์ธ
curl -X POST http://localhost:30088/users/login \
  -H "Content-Type: application/json" \
  -d '{
    "nickname": "testuser",
    "password": "password123"
  }'

๐Ÿ—‚๏ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

backend/
โ”œโ”€โ”€ UserService/           # ์‚ฌ์šฉ์ž ์„œ๋น„์Šค
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ build.gradle
โ”‚   โ”œโ”€โ”€ Dockerfile
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ UsageService/          # ์‚ฌ์šฉ๋Ÿ‰ ์ถ”์  ์„œ๋น„์Šค
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ build.gradle
โ”‚   โ”œโ”€โ”€ Dockerfile
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ InsightService/        # ์ธ์‚ฌ์ดํŠธ ์„œ๋น„์Šค (์ง„ํ–‰์ค‘)
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ build.gradle
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ gateway/               # API Gateway
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ build.gradle
โ”‚   โ”œโ”€โ”€ Dockerfile
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ k8s/                   # Kubernetes ๋ฐฐํฌ ์„ค์ •
โ”‚   โ”œโ”€โ”€ namespace.yaml
โ”‚   โ”œโ”€โ”€ secrets/
โ”‚   โ”œโ”€โ”€ databases/
โ”‚   โ”œโ”€โ”€ apps/
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ scripts/               # ์œ ํ‹ธ๋ฆฌํ‹ฐ ์Šคํฌ๋ฆฝํŠธ
โ”œโ”€โ”€ build-images.sh        # Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ
โ”œโ”€โ”€ build-docker-compose.yml
โ”œโ”€โ”€ settings.gradle        # Multi-module Gradle ์„ค์ •
โ””โ”€โ”€ README.md              # ์ด ๋ฌธ์„œ

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๊ฐ ์„œ๋น„์Šค์˜ application.yml์—์„œ ๋‹ค์Œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉ:

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค๋ช… ๊ธฐ๋ณธ๊ฐ’
SPRING_PROFILES_ACTIVE ํ™œ์„ฑ ํ”„๋กœํŒŒ์ผ default
SPRING_DATA_REDIS_HOST Redis ํ˜ธ์ŠคํŠธ localhost
SPRING_DATA_REDIS_PORT Redis ํฌํŠธ 6379
SPRING_DATA_REDIS_PASSWORD Redis ๋น„๋ฐ€๋ฒˆํ˜ธ -
SPRING_DATASOURCE_URL DB ์—ฐ๊ฒฐ URL -
SPRING_KAFKA_BOOTSTRAP_SERVERS Kafka ๋ธŒ๋กœ์ปค localhost:9092

๐Ÿ“Š ๋ชจ๋‹ˆํ„ฐ๋ง & ํ—ฌ์Šค์ฒดํฌ

Health Check Endpoints

๊ฐ ์„œ๋น„์Šค๋Š” Spring Actuator๋ฅผ ํ†ตํ•ด ํ—ฌ์Šค ์ฒดํฌ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

# UserService
curl http://localhost:8081/actuator/health

# UsageService
curl http://localhost:8082/actuator/health

# Gateway
curl http://localhost:8088/actuator/health

Kubernetes์—์„œ ํ™•์ธ

# Pod ์ƒํƒœ ํ™•์ธ
kubectl get pods -n screentimeai

# ์„œ๋น„์Šค ๋กœ๊ทธ ํ™•์ธ
kubectl logs -f <pod-name> -n screentimeai

# Pod ๋””๋ฒ„๊น…
kubectl describe pod <pod-name> -n screentimeai

๐Ÿงช ํ…Œ์ŠคํŠธ

UserService ํ…Œ์ŠคํŠธ

โš ๏ธ ์ค‘์š”: UserService ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— Kafka, Redis, PostgreSQL์ด ์‹คํ–‰ ์ค‘์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# ์ธํ”„๋ผ ์„œ๋น„์Šค ์‹คํ–‰
docker-compose -f build-docker-compose.yml up -d

# ํ…Œ์ŠคํŠธ ์‹คํ–‰
cd UserService
./gradlew test

UsageService ํ…Œ์ŠคํŠธ

cd UsageService
./gradlew test

์ „์ฒด ํ…Œ์ŠคํŠธ

# ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ
./gradlew test

๐Ÿš€ ๋ฐฐํฌ ๊ฐ€์ด๋“œ

๋กœ์ปฌ Kubernetes ๋ฐฐํฌ

# 1. ์ด๋ฏธ์ง€ ๋นŒ๋“œ
./build-images.sh

# 2. Kubernetes ๋ฆฌ์†Œ์Šค ์ ์šฉ
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/secrets/
kubectl apply -f k8s/databases/
kubectl apply -f k8s/apps/

# 3. ๋ฐฐํฌ ํ™•์ธ
kubectl get all -n screentimeai
kubectl get all -n db

์„œ๋น„์Šค ์ ‘๊ทผ

# Gateway (NodePort)
curl http://localhost:30088/users/health

# Port Forward๋กœ ๊ฐœ๋ณ„ ์„œ๋น„์Šค ์ ‘๊ทผ
kubectl port-forward svc/userservice 8081:8080 -n screentimeai
curl http://localhost:8081/actuator/health

๐Ÿ“š ์ถ”๊ฐ€ ๋ฌธ์„œ



๐Ÿ”„ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ

์ฝ”๋“œ ๋ณ€๊ฒฝ ํ›„ ์žฌ๋ฐฐํฌ

# 1. ์ด๋ฏธ์ง€ ์žฌ๋นŒ๋“œ
./build-images.sh

# 2. Deployment ์žฌ์‹œ์ž‘ (์ด๋ฏธ์ง€๋Š” latest ํƒœ๊ทธ ์‚ฌ์šฉ)
kubectl rollout restart deployment userservice -n screentimeai
kubectl rollout restart deployment usageservice -n screentimeai
kubectl rollout restart deployment gateway -n screentimeai

# 3. ์žฌ์‹œ์ž‘ ์ƒํƒœ ํ™•์ธ
kubectl rollout status deployment userservice -n screentimeai

ConfigMap ๋ณ€๊ฒฝ

# ConfigMap ์ˆ˜์ • ํ›„ ์ ์šฉ
kubectl apply -f k8s/apps/userservice.yaml

# Pod ์žฌ์‹œ์ž‘ (ConfigMap ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋ฐ˜์˜)
kubectl rollout restart deployment userservice -n screentimeai

๐Ÿค ๊ธฐ์—ฌ ๊ฐ€์ด๋“œ

  1. Feature ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ (git checkout -b feature/amazing-feature)
  2. ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ปค๋ฐ‹ (git commit -m 'Add amazing feature')
  3. ๋ธŒ๋žœ์น˜ ํ‘ธ์‹œ (git push origin feature/amazing-feature)
  4. Pull Request ์ƒ์„ฑ

๐Ÿ“ ๋ฒ„์ „ ํžˆ์Šคํ† ๋ฆฌ

v1.0.0 (2025-10-18)

  • โœ… UserService: ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๊ด€๋ฆฌ
  • โœ… UsageService: ์•ฑ ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„
  • โœ… Gateway: API Gateway ๊ตฌ์„ฑ
  • โœ… Kubernetes ๋ฐฐํฌ ์„ค์ •
  • โœ… Redis ์—ฐ๊ฒฐ ๋ฌธ์ œ ํ•ด๊ฒฐ (Config ํด๋ž˜์Šค password ์„ค์ •)
  • โœ… Multi-module Gradle ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ

v1.2.0 (2026-03-29)

  • โœ… JVM ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ตœ์ ํ™”: -Xmx ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ, -XX:MaxRAMPercentage ๋„์ž…
  • โœ… K8s QoS ์„ค๊ณ„: gateway/userservice Guaranteed, insightservice Burstable(๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„)
  • โœ… gateway Netty Off-Heap ํ†ต์ œ: MaxDirectMemorySize, MaxMetaspaceSize ๋ช…์‹œ
  • โœ… ENTRYPOINT exec ๋ฐฉ์‹ ๊ต์ฒด๋กœ Graceful Shutdown ๋ณด์žฅ
  • โœ… JAVA_OPTS ConfigMap ์™ธ๋ถ€ํ™” (์žฌ๋นŒ๋“œ ์—†์ด JVM ํŠœ๋‹ ๊ฐ€๋Šฅ)
  • โœ… Prometheus + Grafana ๋ชจ๋‹ˆํ„ฐ๋ง ์ธํ”„๋ผ ๊ตฌ์„ฑ
  • โœ… k6 ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€
  • โœ… ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์™ธ๋ถ€ํ™” ์ •๋ฆฌ (Kafka broker, Redis host ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ)

v1.1.0 (์˜ˆ์ •)

  • โณ Istio Service Mesh ๋„์ž…
  • โณ Istio Gateway ๋ฐ VirtualService ๊ตฌ์„ฑ
  • โณ ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ ๋ฐ ์„œ๋น„์Šค ๊ฐ„ mTLS

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.


๐Ÿ‘ฅ ํŒ€

  • Backend Development
  • Infrastructure & DevOps
  • Data Analysis

๐Ÿ“ž ๋ฌธ์˜

ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๋ฌธ์˜์‚ฌํ•ญ์€ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์„ธ์š”.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages