❗확인하고 들어갈 점

프로젝트 요구 사항

실제로 위와 같이 카카오지도 API를 활용하여 주소별 사용자 리뷰(후기) 데이터를 관리하는 것은 비효율적입니다. 비즈니스 이점도 없을 뿐더러 카카오지도 API에서는 주소별 사용자 리뷰(후기) 데이터를 제공하지 않습니다.

현재 상황

  1. 카카오맵에서 가게 정보는 API로 제공을 해주지만 가게 내 리뷰 데이터는 제공되지 않아 리뷰 데이터를 크롤링하여 직접 제공해야 한다.

  2. 리뷰 데이터와 가게 제목과 같은 요소는 자주 변경되지 않으며 실시간으로 반영되지 않아도 문제없다. 따라서 크롤링으로 데이터를 관리하는 작업의 주기는 상황에 맞게 선택하면 된다. (주기 : 1일, 3일, 1주, 2주) 실제 서비스로 적용한다면 최신 데이터 제공을 위해 주기는 당연히 짧을수록 좋다. 현재는 2주로 설정

  3. 크롤링으로 지도에 등록된 모든 가게의 정보를 모든 데이터를 가져오기엔 시간이 너무 많이 걸리며 적합하지 않는다.

    스크린샷 2025-03-11 오전 9.11.00.png

    문제점

    대안

구현 방안

크롤링 처리를 위해 java 대신 python 을 선정했습니다. python 관련 프레임워크를 활용하여 배포한 서비스를 배포하는 방법이 비용적으로 절약되지만 학습과 관리 측면에서 시간이 부족하기에 AWS Lambda 를 활용하여 구현하기로 했습니다.

AWS Lambda 선택 이유

  1. 서버리스 특징을 가지기에 배포 이후 관리할 필요가 없다. 이후 SQS를 도입하여 크롤링 실패를 고려한 재시도 처리와 검색 키워드 별 크롤링에 대한 단위 처리가 가능하다.
  2. 기본적으로 최대 1000 단위 병렬 처리가 가능하기에 크롤링 확장이 필요해도 변경 요소가 없다.