

하루 N억 건의 알림 시스템 구축기 (1): 카카오뱅크는 어떻게 발송 플랫폼의 새로운 뼈대를 세웠나
카카오뱅크가 대규모 알림 발송기의 성능 병목과 복잡한 구조를 해결하기 위해 Service/Core Layer 분리 아키텍처를 도입했습니다. 개발자는 단순한 인터페이스만 구현하고, Lock-Free와 Work-Stealing 같은 최적화는 Core Layer에 숨겼습니다.
새로운 기술 블로그가 추가되었어요


카카오뱅크가 대규모 알림 발송기의 성능 병목과 복잡한 구조를 해결하기 위해 Service/Core Layer 분리 아키텍처를 도입했습니다. 개발자는 단순한 인터페이스만 구현하고, Lock-Free와 Work-Stealing 같은 최적화는 Core Layer에 숨겼습니다.


Kubernetes Pod의 OOMKilled 원인을 Memory Limit만으로 보지 않고 JVM Heap 설정까지 함께 점검했습니다. MaxRAMPercentage를 낮추자 Full GC가 정상 동작하며 재시작 문제가 해소됐습니다.

Go GC만 믿고 메모리 증가를 넘기면 원인 파악이 늦어질 수 있음을 다뤘습니다. cgo 누수 탐지와 GOGC, GOMEMLIMIT 조절로 메모리 사용량을 개선하는 방법을 설명했습니다.


C++로 운영하던 대규모 트래픽 서버를 Java와 Spring Boot로 전환한 과정을 정리했습니다. 성능 검증, Canary 배포, GC 개선까지 거쳐 안정적으로 이관했습니다.


메모리 누수의 개념과 원인을 GC Root 관점에서 설명했습니다. 리소스 해제, static 변수 관리, 약한 참조 활용으로 예방하는 방법을 정리했습니다.

JEUS 내부 모듈의 비정상적인 byte 배열 할당으로 OutOfMemoryError가 발생했습니다. 로그 교차 분석과 역컴파일을 통해 원인을 찾고 패치 적용으로 해결했습니다.
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

HBase·HDFS 설정을 읽기 중심 서비스와 OLAP 환경에 맞춰 최적화한 사례를 정리했습니다. 캐시·메모리·네트워크·컴팩션 설정의 효과와 운영상 주의점을 설명합니다.