feat: 백엔드 수평 확장 및 Socket.IO 분산 상태 지원 - #78
Open
yoonyoungyang wants to merge 99 commits into
Open
Conversation
chore: PR 템플릿 개선
Perf/login session upsert
Perf/mongodb index
…to perf--profile
perf: reduce chat message database operations
Perf/chatroom list 개선
perf: 프로필 이미지 처리 및 동시 요청 성능 개선
…into perf/chat-room-list-pagination
Perf/chat room list pagination - RoomListItemResponse
perf: reduce chat history user queries
perf: 톰캣 및 MongoDB 풀 설정 환경변수화
perf(profile): prevent duplicate uploads and benchmark resized fixtures
perf: optimize chat room load flow
perf: optimize chat room join and message flow
perf: 인증 및 방 목록 중복 요청 제거
fix: always acknowledge duplicate room join
perf: CORS 설정 재사용으로 요청별 로깅 및 객체 생성 제거
perf: 채팅방 초기화 지연 및 동시 입장 경합 개선
perf: Socket.IO 방 입장 처리 최적화
perf: reuse frontend socket connection
perf: optimize frontend chat load handling
perf: reduce frontend chat message computation
perf: 파일 접근 권한 검증과 업로드 폴백 개선
perf: reduce socket load during chat activity
perf: shorten chat room entry path
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.
작업 내용
단일 인스턴스를 전제로 동작하던 백엔드를 여러 인스턴스로 확장할 수 있도록 변경했습니다.
Socket.IO 분산 처리
redis로 설정memory저장소 유지동시성 및 데이터 정합성
userId + sessionId조건부 연산으로 변경expiresAt기준으로 수정$addToSet/$pull기반 원자 연산으로 변경테스트
RoomActivityNotifier테스트를 현재 배치 flush 계약에 맞게 수정검증 결과
git diff --check통과운영 환경 설정
모든 백엔드 인스턴스가 동일한 Redis를 사용해야 합니다.
로컬 단일 노드 환경에서는 다음 설정을 사용할 수 있습니다.
클라우드 담당 확인 사항
5001및 Socket.IO5002로드밸런싱제외 범위
e2e폴더는 변경하지 않았습니다.