프로젝트 배경
1) 문제점 - 주유 가격은 공개돼 있지만 원하는 지점 주변만 골라 보려면 사람이 직접 확인해야 했습니다. - 조회 대상이 늘수록 여러 반복 작업이 한 프로세스를 나눠 쓰며 서로 간섭했습니다. - 같은 지점을 여러 사용자가 구독하면 같은 조회가 사용자 수만큼 반복됐습니다. - 실패가 오류가 아니라 침묵으로 나타나, 아무도 모른 채 며칠이 지나는 일이 있었습니다. 2) 프로젝트 목표 -
프로젝트 성과
호출 수를 구독자 수와 분리
같은 지점 조회를 한 곳으로 모으고 결과를 공유하게 바꿔, 구독이 늘어도 공공데이터 API 호출 수가 늘지 않게 만들었습니다.
알림 지연을 6배 이상 단축
호출 수를 분리한 덕분에 확인 주기를 90초에서 12~15초로 당겨도 외부 부하가 늘지 않았습니다. 별도 관측 로그는 남아 있지 않습니다.
조용한 정지를 전수 검사로 잡음
반복 작업의 정지를 사람이 세니 실제의 4분의 1만 찾아냈습니다. 코드에서 전수로 세는 검사로 바꿔 13종 전부를 고정했습니다.
테스트가 코드보다 많은 상태 유지
테스트 1,813건을 유지하고, 테스트가 운영 데이터를 건드린 사고 3건을 겪은 뒤 격리 장치를 기본값으로 넣었습니다.
스케줄러 재설계 후 테스트 753건
단일 루프와 상태 관리로 다시 짜면서 테스트를 753건까지 늘렸고, 병렬 실행을 붙여 전체 실행 시간을 533초에서 48초로 줄였습니다.
핵심 기능
진행 단계
기본 구조·주유소 가격 조회
2026.02.
반복 조회 작업을 한 프로세스에 담는 모듈 구조를 잡고, 좌표 반경 계산과 공공데이터 연동을 붙인 뒤 알림 화면과 데이터 저장 구조를 만들었습니다.
프로젝트 상세
1) 포트폴리오 소개 공공데이터로 공개된 주유소 판매가를 받아 최신 상태로 유지하고, 지정한 지점 주변의 최저가가 바뀌면 알려 주는 상시 운영 백엔드입니다. 서비스 카테고리는 공공데이터 활용 생활 편의 서비스이며, 메인 타깃은 자주 다니는 지역의 주유 가격을 챙겨 보려는 사용자입니다. 가격 자체는 공개돼 있지만 원하는 지점 주변만 골라 보거나 변동 시 알림을 받으려면 사람이 직접 확인해야 했습니다. 상시 가







