kookmin-sw / capstone-2023-08

capstone-2023-08 created by GitHub Classroom
1 stars 4 forks source link

크롤링 모듈 수정 #53

Closed wynter122 closed 1 year ago

wynter122 commented 1 year ago

찜목록 기능 개발을 하기 위해 #51 에서 의논했던 무신사 cloth metadata 수집 범위 수정이 필요합니다.

목표

  1. 각 이미지에 부여된 id 값을 추가로 수집
  2. id를 file명으로 s3에 저장

구상

무신사에서 제공하는 id 태그의 값이 변하지 않는다는 가정 하에,

=> 사용자가 찜했던 사진이 랭킹에서 사라져도 마이페이지에 노출 가능

image

-> 사용자에게 랭킹에서 사라진 데이터를 제공하기 위해서는 DB에서도 내려간 데이터의 정보를 유지해야함 -> ranking num 의 중복이 발생 -> 크롤링시 is_latest 값을 매 수집마다 모두 false 로 변경 -> 수집 이후 수집된 id에 대해서만 is_latest를 true로 update -> 옷 리스트 페이지에 뿌려 줄 때, is_latest == true 조건으로 쿼리해서 뿌려줌

=> 사용자가 찜했던 과거 데이터도 제공 가능. ranking num 중복 해소

문제

우선, 가장 큰 문제는 lambda 는 서버리스 기반 이벤트 함수이고, 저희의 DB는 서버에 있다는 점 입니다. 해결책은 세가지가 있습니다.

  1. lambda 사용하지말고 서버에서 cron 기능으로 돌린다. (가장 간단하지만 사용한 기술이 적어보임)
  2. DB를 AWS RDS 로 바꾼다. (mysql 호환되는 관계형 DB. 참고 )
  3. lambda 에서 만들어진 metadata 를 json 형식으로 구성 -> 서버에 POST 요청해서 서버에서 DB에 저장 (해본적없어서 시도해봐야할것같음)

세 방법 모두 난이도는 비슷합니다만 아직 DB가 다 구성된 상황이아니라서 2번을 가장 먼저 시도해보고 싶습니다.

wynter122 commented 1 year ago

AWS ec2 상에서 돌아가도록 크롤링 모듈 수정 완료