Posts
총 15편
MSA 분산 트랜잭션과 SAGA 패턴 — 이론부터 실습까지
서비스마다 DB를 따로 두는 순간, 모놀리식에서 공짜로 누리던 ACID는 사라진다. 2PC가 왜 안 통하는지부터 SAGA·Outbox·TCC, 그리고 Spring Boot + Kafka로 직접 돌려보는 실습까지 — 이론과 코드를 한 번에 정리한다.
읽기 →
Elasticsearch 핵심 정리 — 검색은 어떻게 빨라지는가
RDB의 LIKE '%키워드%'로는 한계가 명확하다. 풀스캔, 형태소 무시, 오타 취약, 연관도 없음. Elasticsearch가 이 문제를 어떻게 푸는지 — 클러스터 구조부터 역인덱스, 애널라이저, 한글 검색, 쿼리 DSL, 실전 프로젝트까지 핵심만 정리한다.
읽기 →
GoF 디자인 패턴, 실제로 적용하기 — Java 백엔드 레퍼런스
23개 GoF 패턴을 실무 코드 냄새에서 출발해 정리합니다. 각 패턴은 동일한 7단계 스키마(증상 · 구조 · 역할 · Before/After · 현대 Java·Spring · 트레이드오프 · 안 쓸 때·헷갈림)로 작성했고, 범주 색(생성=골드·구조=틸·행위=바이올렛)을 시각 언어로 일관 사용합니다.
읽기 →
Spring Data JPA 3와 Hibernate 6로 이해하는 JPA 영속성 아키텍처
JPA는 명세, Hibernate는 구현체입니다. 같은 무대를 두 이름으로 부르는 두 층을 나란히 놓고 전체 스택·런타임 구조·엔티티 생명주기·영속성 컨텍스트·flush·키 생성·N+1·2차 캐시·쿼리 계층·메서드 대응까지 다이어그램으로 정리합니다. 기준은 Spring Data JPA 3 / Hibernate 6.
읽기 →
Kafka 3.x 아키텍처 완전 정리 — 구조·복제·컨슈머부터 KRaft 전환, 실무 튜닝까지
Kafka를 메시지 큐로만 이해하면 운영에서 반드시 벽에 부딪힌다. 분산 Commit Log라는 본질부터 전체 구조·저장·프로듀서·복제/ISR·컨슈머·전달 보증·Consumer Lag, 그리고 3.x를 정의하는 KRaft 전환과 실무 튜닝까지 다이어그램과 함께 정리한다.
읽기 →
Redis 완전 정복 — 자료구조부터 모듈까지
메모리 위에서 마이크로초 단위로 답하는 Redis를 한 문서로 정리합니다. String·Hash·Set·ZSet·List·Stream 같은 자료구조부터 Pipeline·Lua·분산락, Pub/Sub·Streams, 그리고 JSON·Search·TimeSeries·Bloom·Graph 모듈까지 명령어와 내부 동작을 다이어그램과 함께 다룹니다.
읽기 →
자바 가비지 컬렉터, 구조와 진화
자바 GC는 하나가 아니라 여러 개가 공존합니다. 먼저 mark·sweep·compact, 세대, barrier 같은 핵심 개념을 그림으로 잡고, Serial부터 ZGC·Shenandoah까지 각 GC의 힙 구조와 수거 방식을 구조도와 함께 정리합니다.
읽기 →
Spring Batch 6, 아키텍처가 이렇게 바뀌었다
Spring Batch 6은 도메인 모델은 그대로 둔 채 인프라와 실행 모델을 다시 짰습니다. 빈 구성 단순화, Resourceless 기본화, 청크 동시성 재설계까지 실코드와 함께 정리합니다.
읽기 →
Hibernate ORM 7 마이그레이션 — 달라진 것들과 그 이유
Hibernate ORM 7은 10년 넘게 쌓인 구식 API를 정리하고 JPA 표준에 집중하는 방향으로 재정비됐습니다. 가장 많이 마주칠 Breaking Changes와 배경을 정리합니다.
읽기 →
Spring Boot 4.0 업그레이드 전에 알아야 할 것들
Spring Boot 4.0은 추가된 기능보다 제거된 것들이 더 중요합니다. 업그레이드 전에 반드시 확인해야 할 Breaking Changes와 새로운 표준을 실코드와 함께 정리합니다.
읽기 →
Java 25 LTS 가이드 — 정식 출시된 핵심 기능과 마이그레이션 체크리스트
Java 25는 Java 21 이후 4년 만의 LTS입니다. Scoped Values가 정식 출시됐고 Structured Concurrency는 아직 5차 프리뷰 단계입니다. 한 버전 앞선 Java 24에서 해결된 Virtual Threads 핀닝 문제까지 포함해 22~25 버전대의 핵심 변경사항과 마이그레이션 체크리스트를 정리합니다.
읽기 →
Spring AI로 RAG 파이프라인 구축하기
Spring AI를 사용해 문서를 벡터화하고 LLM과 결합한 Retrieval-Augmented Generation 파이프라인을 Java로 구현하는 방법을 설명합니다.
읽기 →
Kubernetes Rolling Update로 무중단 배포 구현하기
Kubernetes의 Rolling Update 전략을 활용해 서비스 다운타임 없이 배포하는 방법과 readinessProbe, preStop 훅 설정을 정리합니다.
읽기 →
Spring Boot 3.x에서 Virtual Threads 활용하기
Java 21 Virtual Threads를 Spring Boot 3.2+에 적용하는 방법과 플랫폼 스레드 대비 성능 비교를 정리합니다.
읽기 →
Elasticsearch 7 아키텍처 — 검색 엔진의 속을 들여다보다
Elasticsearch는 JSON 문서를 색인해 전문 검색과 집계를 고속으로 수행하는 분산 검색·분석 엔진이다. Index → Shard → Segment로 내려가는 계층 구조와 쓰기·검색 경로, 복제·장애 복구까지 실무 관점으로 정리한다.
읽기 →