실전프로젝트 7일차
1. 긴급회의
일단 크롤링 관련해서 진도가 너무 나가질 않았고 (회의할 당시 겨우 1만건의 데이터를 모았다.)
과연 리뷰데이터가 실제로 쓸모가 있는 데이터일까 라는 고민이 들었다.
우리의 계획은 천개 이상의 리뷰가 달린 가게를 추천해주는 것을 생각했는데
리뷰는 10개씩만 되었고 어떤 가게의 리뷰인지는 알 수가 없었다
근데 여기서 문득 드는 생각
우리는 과연 지금 좋은 서비스를 만들기 위함인가 좋은 성능을 내기 위한 프로젝트인가
우리는 사실 프로젝트가 시작되고 초반때도 똑같은 고민을 했지만 결론을 내지 못했다.
결론을 내지 못했던 것은 일단 첫번째 데이터는 유효성이 있는 데이터여야 한다는 말을 들었을때
이 데이터를 실제로 사용하기 위함인것인가 라는 고민을 하게 되면서 서비스인가 성능인가를 고민했던거 같고
항해 자체에서도 우리에게 표현하는 방식이 마치 좋은 서비스를 만들어라 라는 의도로 들려서
많이 착각을 했던거같다
우리는 이것으로만 거의 두시간을 회의를 했는데 매니저님에게 다시 진지하게 여쭤보았고
우리는 결정 할 수있었다.


이렇게 서비스냐 성능이냐의 고민은 말도 안되는 고민이었던 것으로 해결.
그리고 그 다음 문제는 다시 리뷰를 해결해야한다.
리뷰는 현재 10개씩만 쌓이고 있는데 이 리뷰테이블은 사용할수가 있을까?
다른 용도로 쓸 수 있지않을까? 이 고민을 길게 해본 결과 그런 방법은 없다
리뷰테이블은 과감히 삭제하기로 했다.
리뷰를 삭제하고 리뷰의 카운트와 평점을 저장하는 로직으로 바꾸기로 했다
2. 아키텍쳐 설계
아키텍쳐를 설계해보기로 했다
너무 크롤링에만 스트레스를 받았기때문에 무언가를 해야겠다 너무 늘어진다라는 마음이 들었고
그래서 아키텍쳐를 설계해보기로 했다
팀원들끼리 각자 설계를 해보고나서 그것을 공유하면서 얘기를 나눠보는것으로 하기로 했는데
내가 짠 아키텍쳐는 아래와 같다.

다른 항해 졸업기수들의 아키텍쳐를 보아도 일관성이 있지는 않아보였고 규칙이 있는것같지도 않았다
그래서 나는 전체적인 흐름에 집중하기로 했고 그 흐름에 따라서 아키텍쳐를 설계했다
내가 어제 배웠던 redis는 저런식으로 사용할수 있지 않을까 라는 생각에 저렇게 구현을 했다
그리고 elasticsearch와 RDS는 서로 비교하는 글들이 많기는 하지만 저 둘은 비교가 될 수 없다
특징이 정반대의 성격을 가지고 있을뿐 elasticsearch는 검색엔진일 뿐 db를 대체 할 수 없다.
저 사진에서 빈틈은 amazonS3와 github action을 연결하는 저사이에 있다
저 사이에는 ec2가 필수적으로 있어야한다
사실 필수라기보다는 대체적으로 ec2가 있는 것이 맞다.
이유는 내 다른 블로그에 적어놓았으니 참고하면 좋을것같다.
https://23hoon.tistory.com/148
내가 헷갈려서 쓰는 EC2와 RDS의 관계
위 사진은 서울 어느 곳의 서버실의 풍경을 그림으로 그렸고 그 서버실에 잭슨님 네이마르님 상훈님이 접속해서 데이터를 조회하거나 저장하는 행위를 모습을 보여주고 있다. 근데 만약 직원이
23hoon.tistory.com
1차로 만든 우리의 아키텍처

3. 크롤링
크롤링은 우리가 계획을 전면수정을 했기 때문에
즉 리뷰테이블을 삭제를 하고 심지어 스토어 테이블도 삭제를 했다
그러니까 전체 데이터베이스를 싹 다 지우고 다시 시작하기로 했다
어쨌든 다시 처음부터 시작이다
일단 코드부분에서 어느정도 에러가 나와서 그 부분을 수정하고 있는 상태이고
나는 아무래도 500개씩 잘라서 넣는것으로 마음을 굳힌거같다.
이유는 일단 1000건 이상의 데이터를 넣었을때 700건쯤을 넘었을때 not found error가 떴다.
우리가 아무리 고민을 해도 해결이 되지가 않아서 멘토님에게도 여쭤보았다.
https://www.notion.so/404-Not-Found-9ec37cc4600545e7972663f4d9d06364
크롤링시 404 Not Found 발생 현상
문제 사항
www.notion.so
그래도 멘토님의 답변을 받았을때 마음이 좀 편했던것이 우리가 지금 하고 있는 방식이 틀리지 않았다 라는 생각이 들었고
크롤링 자체가 어디서 얼만큼의 제한을 넣었을지도 모르기때문에 많은 시행착오를 겪으면서 안전한 범위의 수치를 확보해야한다고 하셨다
근데 정말 너무 불규칙적으로 not found error가 뜨면서 다들 정말 돌아버릴 지경이었다
근데 이상하게 500건 정도를 돌리면 이상이 없었기때문에 나는 사실 각오가 되어 있다
'legacy > 항해99 일지' 카테고리의 다른 글
20230107 (토) TIL (0) | 2023.01.08 |
---|---|
20230106 (금) TIL (0) | 2023.01.07 |
20230103 (화) TIL (0) | 2023.01.04 |
20230102 (월) TIL (0) | 2023.01.03 |
20230101 (일) 8주차 정리 WIL (0) | 2023.01.02 |