Conversation
- Heartbeat에서 Redis 호출 제거, 인메모리 lastActiveTime만 갱신 - 하트비트 시 마다 갱신하면 유저 증가시 처리량 폭발하는걸 대비하여 배치로 처리하도록 결정 - 30초 주기 배치로 JWT 검증 및 Redis TTL 일괄 갱신 - JWT 만료 시 WebSocket 강제 종료 (CloseStatus 4001) - WebSocketSession 보관을 위한 Holder/Decorator 추가
…에 정리 로직추가 - WebSocketSessionHolder에 이미 웹소켓 세션이 있는데 이를 세션맵핑에 까지 저장하면 유지보수 복잡도 올라가고 SRP 위반이기에 Holder에서만 실제 웹소켓 세션 정보를 가지도록 변경 - 웹소켓 서버가 비정상 종료되었을 때 레디스 Sorted Set에 콘텐츠별 시청 세션을 담는 곳에 시청자 수가 정리안되는 문제 발견, 재시작시 이를 해결하기 위해서 비정상 세션들 삭제
- content에서 시청자수가 1->0으로 변경되는 순간 레디스의 Zset의 멤버가 0 이 되면서 레디스가 해당 Zset를 삭제하는데 동기화 로직에서 Zset에 있는 멤버만 동기화를 시도해서 1 -> 0으로 동기화되지 못하고 1로 남는 버그가 발생 -> 동기화를 할 때 실제 활성화된 콘텐츠의 시청자를 모두 동기화 하도록 변경 - 기존 redis Zset 의존 -> ES에서 시청자수가 0 이상인 콘텐츠에서 Redis 키가 없으면 0으로 초기화
- 검색어 자체를 포함하는 결과에 가산점
… 뒤로 갈수록 더 낮은 가중치로 계산됨 - 종이의 집 검색을 예시로 들면 종 -> 종이 -> 종이의 -> 종이의 집 검색순서로 각각 '종', '종이', '종이', '종이, 집' 으로 토큰이 수집되는데 마지막 종이의 -> 종이의 집 으로 넘어갈 때 앞에 단어에 우선순위를 주지 않으면 종이 와 집 토큰이 같은 점수를 가져서 검색결과가 뒤섞일 수 있기 때문에 UX에 영향을 줄 수 있음 그래서 이전 검색결과에서 크게 벗어나지 않게 갱신되도록 변경
…n-Batch-Refresh#117 [WatchingSession] 레디스 TTL 배치로 갱신, 레디스나 웹소켓 서버 비정상 종료시 대응 추가
…-stale-cleanup#126 [Content] 콘텐츠 조회 시 시청자수 동기화 버그 수정
[Notification] 활성 대화창의 알림 전송 버그 수정
…ntext-boost#129 [Content] 콘텐츠 키워드 검색 개선
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.