Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: 많이 조회한 게시글 키워드 구조 변경 #1061

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

seongjae6751
Copy link
Contributor

🔥 연관 이슈

🚀 작업 내용

image
Redis를 활용한 검색어 저장 구조에 대한 고민
검색어 데이터를 Redis에 저장하는 구조로 전환을 검토했으나, 현재 메모리 사용량과 인프라 환경을 고려했을 때, 모든 검색어를 Redis에 저장하는 방식은 적합하지 않다고 판단했습니다. 이에 우 검색어 저장 로직을 EventListener를 활용한 구조로 변경하여 모듈 간 결합도를 낮추는 방향으로 개선했습니다.

💬 리뷰 중점사항

주요 고민 사항
메모리 부담:
현재 1주일 동안의 인기 키워드를 기준으로 TTL을 7일로 설정할 경우, 사용자 5000명이 일주일 동안 각 3개의 검색어만 입력하더라도 약 75,000개의 데이터가 Redis에 저장됩니다. 이는 2GB 메모리로 운영 중인 코인 인프라에서 과도한 부담이 되지 않을까 하는 생각이 들었습니다.
안정성 및 보안:
Redis에 검색어 데이터를 저장하는 구조는 많은 단어를 의도적으로 검색하는 공격에 취약할 수 있습니다. 이러한 상황에서는 Redis 메모리가 가득 차면서 서비스가 중단되지 않을까 하는 생각이 들었습니다.

@seongjae6751 seongjae6751 self-assigned this Nov 20, 2024
@github-actions github-actions bot added the 리팩터링 리팩터링을 위한 이슈입니다 label Nov 20, 2024
Copy link

Unit Test Results

0 tests   0 ✔️  0s ⏱️
0 suites  0 💤
0 files    0

Results for commit dc6a453.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
리팩터링 리팩터링을 위한 이슈입니다
Projects
None yet
Development

Successfully merging this pull request may close these issues.

fix: v2/shops에서 상점 카테고리 id 대신 카테고리 Map의 id로 반환되는 버그
1 participant