#cache
#circuit-breaker
#resilience4j
#caffeine
#performance 캐시 만료 직후 같은 키의 요청이 외부 API로 몰리면서 Resilience4j 서킷 브레이커가 HALF_OPEN 상태에 갇힌 사례를 정리하고, Caffeine의 single-flight 패턴으로 해결한 과정을 다룹니다.
#api-design
#performance
#spring-boot
#kotlin
#pattern GraphQL까지 도입하기에는 부담스러울 때, REST API 구조를 유지하면서 오버페칭을 줄이는 Sparse Fieldsets(Field Mask) 패턴을 정리합니다. 개념, 적용 기준, Spring Boot 구현 예제를 함께 다룹니다.
#redis
#spring
#spring-data-redis
#performance Spring Data Redis의 @RedisHash와 CrudRepository를 사용할 때 내부 인덱스용 Set 때문에 BigKey가 생길 수 있습니다. 원인과 위험성을 살펴보고 RedisTemplate으로 저장 방식을 직접 제어하는 방법을 정리합니다.
#database
#mysql
#index
#performance MySQL 다중 컬럼 인덱스에서 컬럼 순서가 왜 중요한지, 범위 조건(>, <, BETWEEN, LIKE)이 인덱스 사용에 어떤 영향을 주는지 예제로 정리합니다.
(Modified:
2024-12-26)
#redis
#database
#performance Redis에서 키를 삭제할 때 DEL과 UNLINK가 어떻게 다르게 동작하는지, 큰 키 삭제가 지연 시간에 어떤 영향을 주는지, lazyfree-lazy-user-del 설정은 언제 쓸 수 있는지 정리합니다.
(Modified:
2024-12-29)
#java
#jvm
#performance JIT(Just-In-Time) 컴파일러가 자바 바이트코드를 어떻게 최적화하는지, 계층적 컴파일(Tiered Compilation)은 어떻게 동작하는지 예제와 함께 정리합니다.
(Modified:
2024-12-29)
#architecture
#scalability
#performance
#system design 확장성을 이야기할 때 먼저 정의해야 할 부하 매개변수와 성능 지표를 정리합니다. 평균 응답 시간의 한계, 백분위, 꼬리 지연 시간이 왜 중요한지도 함께 다룹니다.
(Modified:
2024-12-29)
#kotlin
#performance
#collections Kotlin 컬렉션 처리에서 Iterable과 Sequence가 즉시 평가(Eager)와 지연 평가(Lazy)로 어떻게 다르게 동작하는지 예제로 비교합니다.