f-lab-edu / outstagram

instagram과 같은 SNS 서비스

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

추후 리팩토링 포인트

CEO-Nick opened this issue · comments

commented
  • 이미지 삭제 배치 처리 or 비동기 처리

  • objectMapper 구현해보기(null인 경우, 무시하고 json으로 만들기)

  • getPost, getMyPosts 메서드 DB 쿼리 최적화

  • 게시물 삭제 시, 연관된 like, bookmark, comment, image 레코드들도 비동기적으로 삭제하기 (추후에 삭제할 친구들 늘어날 수 있으므로 확장 가능하게 만들기)

  • Snowflake ID 구현해서 분산 DB 환경에서도 페이징할 수 있도록 구현

    • 라이브러리 쓰지말고 직접 구현
    • 여러 user가 동시에 ID 생성 요청 시 발생할 수 있는 동시성 문제도 해결하기
  • 유저 프로필 수정 시, redis의 유저 정보도 같이 수정(write-through)

  • 유저 검색 엘라스틱 서치 도입

  • 특정 팔로워 수 넘으면 pull model 적용되도록

  • 게시물 조회 캐싱 도입 전후 성능 테스트

  • 좋아요 증가, 감소를 무조건 redis에 저장해놓고, 주기적으로(5분마다) DB post table에 좋아요 개수 반영, like table에 좋아요 정보 반영하기

  • 게시물 삭제 시, 해당 게시물을 모든 유저의 feed에서도 삭제

  • 팔로우 취소 시, 해당 유저의 게시물들도 feed에서 삭제

  • 팔로우 추가 시, 팔로우한 유저의 게시물들 feed로 가져오기