Skip to content
View HeoJunHyoung's full-sized avatar

Block or report HeoJunHyoung

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
HeoJunHyoung/README.md

πŸ§‘β€πŸ’» About Me

"ν™•μž₯ κ°€λŠ₯ν•œ μ•„ν‚€ν…μ²˜μ™€ λŒ€μš©λŸ‰ νŠΈλž˜ν”½ μ²˜λ¦¬μ— μ§‘μ€‘ν•˜λŠ” λ°±μ—”λ“œ κ°œλ°œμžμž…λ‹ˆλ‹€."

μ•ˆμ •μ μΈ μ„œλΉ„μŠ€ μš΄μ˜μ„ μœ„ν•œ MSA(Microservices Architecture) 섀계와 μ‹œμŠ€ν…œ μ„±λŠ₯ μ΅œμ ν™”μ— κΉŠμ€ 관심을 κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.
λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­μ„ 기술적으둜 ν•΄κ²°ν•˜λŠ” κ³Όμ •μ—μ„œ λ°œμƒν•˜λŠ” νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό λΆ„μ„ν•˜κ³ , 데이터 기반의 μ˜μ‚¬κ²°μ •μ„ μ§€ν–₯ν•©λ‹ˆλ‹€.

public class HeoJunHyoung {
    private final String email = "[email protected]";
    private final String blog = "https://receiver40.tistory.com";
    
    public void contact() {
        System.out.println("Ready to build scalable architecture.");
    }
}

πŸ› οΈ Tech Stack

Backend

Java Spring Boot Spring Cloud Spring Security QueryDSL

Infrastructure & DevOps

Kubernetes Docker ArgoCD GitHub Actions Ubuntu Terraform

Data & Messaging

MySQL PostgreSQL MongoDB Redis Apache Kafka

Testing & Monitoring

k6 Prometheus Grafana



πŸš€ Featured Projects

MSA 기반 λŒ€μš©λŸ‰ νŠΈλž˜ν”½ 처리 μ‹œμŠ€ν…œ

μ£Όμš” κΈ°λŠ₯ 기술적 νŠΉμ§• 및 ν•΄κ²° 과제
ν•˜μ΄λΈŒλ¦¬λ“œ 인프라 β€’ VirtualBox VM 기반 On-Premise Kubernetes 3-Node ν΄λŸ¬μŠ€ν„° 직접 ꡬ좕
β€’ μ™ΈλΆ€ λ©”μ‹œμ§• 인프라(Kafka VM)와 K8s ν΄λŸ¬μŠ€ν„°λ₯Ό λΆ„λ¦¬ν•œ Hybrid Cloud Topology 섀계
데이터 동기화 β€’ Kafka & Debezium(CDC) 을 ν™œμš©ν•œ μ„œλΉ„μŠ€ κ°„ 데이터 μ‹€μ‹œκ°„ 동기화
β€’ Transactional Outbox Pattern을 μ μš©ν•˜μ—¬ λΆ„μ‚° ν™˜κ²½μ—μ„œ 데이터 μ •ν•©μ„± 보μž₯ (SAGA Pattern)
κ³ μ„±λŠ₯ 검색/쑰회 β€’ Split Caching Strategy: 정적 데이터(λ³Έλ¬Έ)와 동적 데이터(쑰회수)의 캐싱 라이프사이클 뢄리
β€’ Redis Write-Back: 쑰회수 λ“± λΉˆλ²ˆν•œ μ—…λ°μ΄νŠΈλ₯Ό λ©”λͺ¨λ¦¬μ—μ„œ 처리 ν›„ 배치 동기화 (DB Lock ν•΄μ†Œ)
μ„±λŠ₯ μ΅œμ ν™” β€’ k6 λΆ€ν•˜ ν…ŒμŠ€νŠΈλ₯Ό ν†΅ν•œ 병λͺ© ꡬ간 식별 및 νŠœλ‹ (쑰회 μ„±λŠ₯ 73% κ°œμ„ )
β€’ 쿼리 μ‹€ν–‰ κ³„νš 뢄석을 ν†΅ν•œ 볡합 인덱슀(Composite Index) 적용 및 Full Table Scan 제거

AWS EKS 기반 ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ μ•„ν‚€ν…μ²˜μ™€ 벑터 검색을 ν™œμš©ν•œ κ°œμΈν™” μΆ”μ²œ μ„œλΉ„μŠ€

μ£Όμš” κΈ°λŠ₯ 기술적 νŠΉμ§• 및 ν•΄κ²° 과제
Vector Search μΆ”μ²œ β€’ PostgreSQL pgvector ν™•μž₯을 λ„μž…ν•˜μ—¬ μ‚¬μš©μž μ„±ν–₯(User Embedding)κ³Ό μ—¬ν–‰μ§€ κ°„ Cosine Similarity μ—°μ‚° κ΅¬ν˜„
β€’ λ‹¨μˆœ 필터링을 λ„˜μ–΄μ„  μ •κ΅ν•œ μ·¨ν–₯ 기반 λ§€μΉ­ μ•Œκ³ λ¦¬μ¦˜ 섀계
Cloud Native Infra β€’ AWS EKS ν™˜κ²½μ—μ„œ Terraform(IaC)을 ν™œμš©ν•œ 인프라 ν”„λ‘œλΉ„μ €λ‹ 및 관리
β€’ ArgoCD 기반 GitOps νŒŒμ΄ν”„λΌμΈ κ΅¬μΆ•μœΌλ‘œ λ§€λ‹ˆνŽ˜μŠ€νŠΈ λ³€κ²½ 사항 μžλ™ 동기화
ν™•μž₯μ„± μžˆλŠ” μ±„νŒ… β€’ Redis Pub/Sub μ•„ν‚€ν…μ²˜λ₯Ό μ μš©ν•˜μ—¬ 닀쀑 μ„œλ²„ ν™˜κ²½μ—μ„œ WebSocket λ©”μ‹œμ§€ 동기화 문제 ν•΄κ²°
β€’ MongoDBλ₯Ό λ„μž…ν•˜μ—¬ λŒ€μš©λŸ‰ μ±„νŒ… 둜그 μ“°κΈ° μ„±λŠ₯ 확보 및 쑰회 μ΅œμ ν™” (Polyglot Persistence)
μ„±λŠ₯ μ΅œμ ν™” β€’ Redis Write-Back μ „λž΅: κ²Œμ‹œκΈ€ 쑰회수 λ“± λΉˆλ²ˆν•œ μ“°κΈ° 연산을 λ©”λͺ¨λ¦¬μ—μ„œ 처리 ν›„ DB 일괄 반영
β€’ HttpOnly Cookie 핸듀링: λ³΄μ•ˆμ„ μœ„ν•œ μΏ ν‚€ 기반 JWT 인증과 WebSocket ν•Έλ“œμ…°μ΄ν¬ κ°„ 연동 문제 ν•΄κ²°

λŒ€μš©λŸ‰ νŠΈλž˜ν”½ μƒν™©μ—μ„œμ˜ λ™μ‹œμ„± μ œμ–΄μ™€ μ‹€μ‹œκ°„ λž­ν‚Ή μ‹œμŠ€ν…œ μ΅œμ ν™”

μ£Όμš” κΈ°λŠ₯ 기술적 νŠΉμ§• 및 ν•΄κ²° 과제
재고 λ™μ‹œμ„± μ œμ–΄ β€’ Redisson λΆ„μ‚° 락(Distributed Lock)을 λ„μž…ν•˜μ—¬ 닀쀑 μ„œλ²„ ν™˜κ²½μ—μ„œ 재고 차감의 μ›μžμ„± 보μž₯ (Race Condition ν•΄κ²°)
β€’ k6 λΆ€ν•˜ ν…ŒμŠ€νŠΈλ₯Ό 톡해 100λͺ… λ™μ‹œ μš”μ²­ μ‹œ μ •ν™•ν•œ 재고 차감 검증 (Overselling 0건 달성)
μ‹€μ‹œκ°„ λž­ν‚Ή μ‹œμŠ€ν…œ β€’ Redis Sorted Set (ZSet)을 ν™œμš©ν•˜μ—¬ μ£Όλ¬Έ λ°œμƒ μ‹œ νŒλ§€λŸ‰ μ‹€μ‹œκ°„ 집계 및 점수 μ‚°μ • (O(1))
β€’ DB μ •λ ¬ λΆ€ν•˜ 없이 reverseRangeWithScores둜 Top 5 인기 μƒν’ˆ μ¦‰μ‹œ 쑰회 κ΅¬ν˜„
λΆ„μ‚° ν™˜κ²½ μ„Έμ…˜ β€’ Spring Session Data Redisλ₯Ό μ μš©ν•˜μ—¬ Scale-out ν™˜κ²½μ—μ„œλ„ μ •ν•©μ„± μžˆλŠ” 둜그인 μ„Έμ…˜ μœ μ§€
β€’ Redis Caching μ „λž΅(Look Aside)을 톡해 μ£Όλ¬Έ λ‚΄μ—­ λ“± κ³ λΉˆλ„ 쑰회 λ°μ΄ν„°μ˜ 응닡 속도 κ°œμ„ 


πŸ“Š GitHub Stats

Pinned Loading

  1. goteego-backend goteego-backend Public

    Java

  2. linkfolio-backend linkfolio-backend Public

    Java