모든 블로그
마켓컬리

마켓컬리

주요 카테고리 백엔드 · AI · 아키텍처

활동 요약

대표 인기 포스트Claude Code를 활용한 예측 가능한 바이브 코딩 전략370 조회
최근 30일
3개
평균 조회
27
누적 조회
6,328
전체 글
236개
마지막 발행
2026. 11. 9.
블로그 방문

마켓컬리 기술 블로그 글 (84)

백엔드

컬리의 입고 시스템이 외부 인입 데이터를 안전하게 동기화하는 방법

외부 채널 입고 정보를 안전하게 동기화하기 위해 아웃박스 패턴과 재시도 토픽을 적용한 사례를 소개했습니다. Spring Kafka와 Namastack Outbox로 원자성, 재시도, 실패 알림을 정리했습니다.

#Spring Boot#Kafka#아웃박스 패턴
17800

백엔드

컬리의 입고 시스템이 외부 인입 데이터를 안전하게 동기화하는 방법

외부 입고 데이터 동기화에서 DB와 Kafka 간 원자성 문제를 아웃박스 패턴으로 보완했습니다. Spring Kafka 재시도 토픽으로 선행 정보 지연에 따른 실패를 자동 복구하도록 구성했습니다.

#Kafka#Spring Boot#아웃박스 패턴
300

백엔드

Kafka Streams 윈도우 도입기

재고 정산의 스파이크성 트래픽을 Kafka Streams 텀블링 윈도우로 집계했습니다. 생성 시각 추출과 파티션별 더미 이벤트로 시간 정합성과 윈도우 종료를 해결했습니다.

#Kafka#Kafka Streams#window
000

백엔드

Kafka Streams 윈도우 도입기

재고 정산 처리에 Kafka Streams window를 도입한 경험을 다룬 글입니다. 윈도우 적용 과정에서의 이야기를 중심으로 정리했습니다.

#Kafka#streaming
10700

백엔드

nginx 설정 없이 우아하게 서비스 점검하기 (上)

nginx 권한 없이 점검 중 화면 접근을 차단하는 AccessBlock을 애플리케이션 레벨에 구축했습니다. Redis 캐싱으로 DB 의존성을 낮췄지만 메타데이터 관리 의존성은 과제로 남았습니다.

#MySQL#Redis#비동기
100

백엔드

nginx 설정 없이 우아하게 서비스 점검하기 (上)

서비스 점검 중 공지만으로 작업을 막기 어려워 애플리케이션 레벨 차단 도구를 만들었습니다. 이후 Redis 캐싱으로 RDBMS 의존성을 줄이며 점검 상황에 대응했습니다.

#nginx#MySQL#Redis
13600

백엔드

딜리버리 암호화 모듈 개발기

배송 시스템 요구에 맞춰 JPA 컨버터와 봉투암호화 기반의 암호화 모듈을 직접 개발했습니다. 의존성·호환성·엣지 케이스·성능을 함께 검증하며 여러 서비스 적용 기반을 마련했습니다.

#JPA#Spring Boot#Hibernate
100

백엔드

딜리버리 암호화 모듈 개발기

배송시스템용 암호화 모듈을 직접 개발하고 자동 암/복호화, 봉투암호화, 종속성 최소화 전략을 정리했습니다. 테스트와 성능 측정으로 엣지케이스와 운영 적합성도 검증했습니다.

#JPA#Hibernate#암호화
6400

백엔드

Kafka Connect로 DB 데이터 쉽게 연동하기

Kafka Connect와 JDBC Source Connector로 DB 데이터를 Kafka에 연동하는 구조와 증분 쿼리 모드를 설명했습니다. 쿼리 기반 CDC의 누락 사례와 지연 옵션을 통한 완화 방법을 정리했습니다.

#Kafka#Kafka Connect#JDBC
200

백엔드

Kafka Connect로 DB 데이터 쉽게 연동하기

Kafka Connect와 JDBC 소스 커넥터로 DB 데이터를 Kafka에 연동하는 방법을 설명했습니다. 쿼리 기반 CDC의 한계와 데이터 누락을 줄이는 설정도 함께 정리했습니다.

#Kafka Connect#JDBC#CDC
9200

백엔드

물류의 물짜도 모르던 OMS PM의 OMS 구축기

OMS의 목적과 역할을 재정의하며 TAM 통합과 주문 분배 계획 단일화를 이끈 구축기입니다. 수기 업무를 줄이고 CAPA 기반 자동화로 운영 생산성을 높이는 과정을 다뤘습니다.

#OMS#물류#TMS
6800

백엔드

주소정제 서비스 내재화 - 1화 ( 줄줄 새는 돈 )

외부 주소 정제 서비스의 비용과 통제 한계, 배송 오류 사례를 바탕으로 내재화 필요성을 분석했습니다. 도로명 주소·상세주소 특성을 정리하고 행정안전부 API 활용을 검토했습니다.

#주소정제#도로명주소#API
800

백엔드

주소정제 서비스 내재화 - 2화 ( 그럴싸한 계획 )

행안부 API와 축적 주소 데이터를 결합해 외부 주소정제 호출과 비용을 크게 줄였습니다. 다만 API 장애와 데이터 범위 한계로 장기 내재화 전략은 재검토했습니다.

#주소정제#API#cache
000

백엔드

주소정제 서비스 내재화 - 3화 ( 노가다의 달달한 열매 )

외부 API 장애를 계기로 전국 건물 DB를 구축하고 일 단위 자동 동기화 체계를 마련했습니다. 건물관리번호 기반 캐시로 OMS 배송권역 관리도 단순화했습니다.

#DB#API#주소정제
300

백엔드

주소정제 서비스 내재화 - 4화 ( 슬픈예감 )

건물 DB와 주소 파싱 로직으로 단독건물 주소정제를 내재화하고 외부 API 호출을 약 60% 절감했습니다. 행정구역 변경과 비정형 입력은 명칭 보정, 폴백, 테스트 누적으로 대응했습니다.

#주소정제#DB#API
100

백엔드

주소정제 서비스 내재화 - 5화 ( 어질어질한 변화구들 )

복합건물 상세주소의 자유 입력과 건물 DB 불일치를 정확도 레벨로 체계화했습니다. 인접 단지 탐색과 전처리로 동 추출률을 높이고 외부 API 호출을 줄였습니다.

#주소정제#API#건물 DB
100

백엔드

주소정제 서비스 내재화 - 마지막 화 ( 엔드 게임 )

지번 주소와 변경 전 주소를 자체 처리해 외부 주소정제 API 의존성을 제거했습니다. 2개월간 외부 호출 없이 안정성을 검증한 뒤 계약을 종료했습니다.

#API#DB#백오피스
300

백엔드

주소정제 서비스 내재화 - 1화 ( 줄줄 새는 돈 )

컬리 OMS 팀이 외부 주소정제 서비스의 비용 부담과 CS 문제를 계기로 내재화를 검토한 배경을 정리했습니다. 도로명주소 구조와 건물관리번호를 바탕으로 주소정제의 목적과 중요성을 설명했습니다.

#주소정제#도로명 주소#OMS
6500