피드로 돌아가기
컬리 기술블로그
원문 읽기
주소정제 서비스 내재화 - 2화 ( 그럴싸한 계획 )
컬리가 외부 주소정제 API 의존도를 줄이기 위해 행정안전부 오픈 API + 축적 데이터 캐싱 방식을 도입해 외부 호출을 50% 이상 감소시키고 월 150~200만원 비용 절감
AI 요약
Context
컬리는 주문 배송 주소 정제를 위해 외부 업체 API에 의존하고 있었으며, 이로 인한 높은 호출 비용과 서비스 가용성 리스크를 안고 있었다. 복합건물 처리의 복잡성으로 인해 단독건물 주소부터 우선 내재화하기로 결정했다.
Technical Solution
- 행정안전부 도로명주소 조회 API 도입: 파라미터로 도로명 또는 지번주소를 입력하면 건물관리번호(bdMgtSn) 응답 획득
- 행정안전부 좌표정보 API 활용: 도로명코드, 건물본번, 건물부번을 파라미터로 전달해 GRS80 UTM-K 좌표계 형태의 위경도(entX, endY) 응답 획득
- 외부 주소정제 축적 데이터 활용: 5년간 외부 업체 호출로 축적된 정제 주소 데이터를 건물관리번호로 인덱싱해 캐싱
- 주소정제 1.0 Flow 설계: 행안부 도로명주소 조회 API → 건물관리번호 → 축적 데이터 조회 → 미존재 시 행안부 좌표정보 API 호출 순서로 진행
- 행정안전부 API 사용 제한 고려: 도로명주소 조회 API는 제한 없음, 좌표정보 API는 5초당 10건 제한으로 설정해 요청 전략 수립
Impact
- 외부업체 API 호출을 기존 대비 50% 이상 감소
- 월 150~200만원의 비용 절감 달성
- 운영 배포 약 1주일 후 약 10분간 1000건 이상의 OMS API 응답 에러 발생으로 긴급 핫픽스 적용
Key Takeaway
공급 업체 비용 절감을 위해 공개 API와 기존 축적 데이터를 결합하는 방식은 단기 비용 효과는 뛰어나지만, 외부 API의 안정성 미검증, 신규 고객 주소 커버 불가능, 다중 관리 포인트 증가라는 장기적 구조적 한계를 갖는다. 외부 의존성 제거 목표 달성을 위해서는 단계별 검증과 롤백 가능성을 항상 확보한 보수적 배포 전략이 필수적이다.