수억 건의 데이터, 맛있게 쪼개 먹는 방법 (with. Partitioning)
Spring Batch Partitioning, Cursor Reader, Bulk Operations로 수억 건 데이터 처리의 OOM 문제를 해결했습니다. 병렬 분할과 스트리밍 읽기, 일괄 쓰기 최적화로 성능과 안정성을 함께 높였습니다.

⚠️ 카카오페이 기술블로그는 리뉴얼 이후 RSS에 게시글이 제공되지 않아 새로운 게시글을 표시하지 못하고 있습니다. ⚠️
Spring Batch Partitioning, Cursor Reader, Bulk Operations로 수억 건 데이터 처리의 OOM 문제를 해결했습니다. 병렬 분할과 스트리밍 읽기, 일괄 쓰기 최적화로 성능과 안정성을 함께 높였습니다.
배포 직후 발생하던 DB Connection Timeout과 응답 지연의 원인을 분석했습니다. JVM 웜업과 startupProbe 적용으로 초기 지연 문제를 해결했습니다.
암호화 설계를 위해 고전 암호부터 현대 암호, 하이브리드와 봉투 암호화까지의 흐름을 정리했습니다. JPA와 Hibernate 확장 포인트를 활용해 실무에서 암복호화를 자동화한 경험도 소개했습니다.
Apache Pinot를 실시간 OLAP 용도로 도입해 운영하며 얻은 안정성·보안·DR 노하우를 정리했습니다. Upsert, Kafka 재개, Trino gRPC 등 실무에서 겪은 주의점과 대응 방법도 함께 소개했습니다.
PreparedStatement가 JDBC, HikariCP, Hibernate, MySQL Connector/J에서 어떻게 동작하는지 내부 구현까지 살펴본 글입니다. 설정별 성능 차이와 운영 시 주의할 점도 함께 정리했습니다.
OpenSearch와 Analyzer로 부분 검색, 대소문자 무시, 특수문자 제거 검색을 구현하는 방법을 설명했습니다. 또한 카카오페이손해보험의 검색 서비스 활용 사례도 함께 소개했습니다.
Ktor를 팀 환경에 맞게 API 서버로 도입한 구현 과정을 공유했습니다. 직접 구현하며 적용 방향을 정리했습니다.
피처 플래그를 개발하며 배포와 장애 대응을 위한 운영 문제를 다뤘습니다. 실시간 데이터 동기화 과정에서 마주한 이슈 해결 여정을 공유했습니다.
Spring 기반 멀티모듈 프로젝트의 환경변수 설정 방법을 정리한 글입니다. 프로젝트 구성에 도움이 되는 여러 설정 방식을 소개합니다.
JPA `Transactional`과 DB 쿼리 성능의 관계를 설명하는 글입니다. 트랜잭션 적용 방식에 따라 쿼리 특성과 성능 영향이 달라질 수 있음을 다룹니다.
분산 환경에서 로컬 캐시와 Redis Pub/Sub을 함께 사용해 조회 성능을 높이고 데이터 정합성을 맞추는 방법을 설명했습니다. 서버별 캐시 불일치와 오래된 데이터 문제를 줄이기 위한 설계와 구현 경험을 공유했습니다.
Spring Cloud Stream으로 데이터 추출과 조합 파이프라인을 구성한 사례를 소개했습니다. 멀티 모듈과 Function 규격화를 통해 확장성과 결합도 개선 방향도 제시했습니다.
Kotlin과 Java에서 SLF4J 로깅 시 불필요한 문자열 연산을 줄이는 방법을 다뤘습니다. 성능과 가독성을 비교해 Parameterized Logging과 kotlin-logging의 선택 기준을 제시했습니다.
코틀린 코루틴의 예외가 부모-자식 관계를 따라 전파되며 전체 취소로 이어지는 과정을 설명했습니다. 실무에서는 발생 지점 처리와 supervisorScope 같은 방법으로 전파 범위를 조절하는 방식이 필요합니다.
보험금 청구의 불편함을 줄이기 위해 즉시지급 프로세스를 구축한 사례를 소개합니다. 레거시 분리, 문서 인식 자동화, 워크플로 개선으로 비용과 처리 시간을 크게 줄였습니다.
Kafka 기반 지연이체 서비스를 재설계하고 개발한 경험을 공유했습니다. if(kakao) 발표 후기와 함께 지연 처리 구조를 소개했습니다.
코틀린에서 함수형 프로그래밍을 처음 접할 때의 막막함을 다루는 글입니다. 직접 찾아본 길을 따라 함수형 스타일을 이해하도록 돕습니다.
코루틴과 Virtual Thread를 비교하고 사용 예제를 통해 차이를 살펴보았습니다. 비동기 실행 방식 선택 시 두 경량 동시성 모델의 활용 포인트를 확인할 수 있습니다.