feat(chat): 채팅방 채팅 메세지 전달 시간지연 디버깅 (#78)#152
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughRedis 발행 대상이 채널 유틸에서 원시 문자열로 변경되었고, publishToRoom의 인자가 UUID → String으로 바뀌었습니다. 메시징 컨트롤러는 로컬 STOMP 전송을 주석 처리하고 Redis 발행 대상 문자열을 직접 조립합니다. 알림 컨트롤러/서비스의 Redis 발행 호출은 주석 처리되었습니다. nodeId 접근자 메서드가 추가되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant C as Client
participant MC as ChatMessagingController
participant ST as STOMP Broker
participant RP as ChatRedisPublisher
note over MC: 멤버십 검증 및 payload 구성
C->>MC: sendMessage(roomId, content)
%% 로컬 브로드캐스트 (변경: 비활성화)
rect rgba(200,200,200,0.15)
note right of MC: 기존: convertAndSend("/topic/chat/{roomId}", payload)\n현재: 주석 처리됨
end
MC->>RP: publishToRoom("/topic/chat/" + roomId, payload)
RP->>RP: payload에 _src=nodeId 설정
RP-->>ST: Redis channel="/topic/chat/{roomId}"로 fan-out
note over ST: 구독자에게 분배 (다중 노드)
sequenceDiagram
autonumber
participant SYS as System Event
participant NC as ChatNotificationController / ChatNotificationServiceImpl
participant ST as STOMP Broker
participant RP as ChatRedisPublisher
SYS->>NC: roomAlert / doDispatch
NC-->>ST: convertAndSend("/topic/chat/{roomId}", payload)
rect rgba(200,200,200,0.15)
note over NC,RP: Redis publishToRoom(...) 호출은 주석 처리됨
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (4)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit