트러블슈팅
실시간 자막이 참가자가 늘수록 늦게 뜨던 문제
WhyLog 실시간 회의에서 자막을 웹소켓으로 참가자 모두에게 보내던 구조가 동기 방식이라 참가자가 늘수록 지연이 커졌습니다. 원인을 짚고 전송 스레드 분리와 ConcurrentWebSocketSessionDecorator로 개선한 과정을 정리했습니다.
2개의 글
WhyLog 실시간 회의에서 자막을 웹소켓으로 참가자 모두에게 보내던 구조가 동기 방식이라 참가자가 늘수록 지연이 커졌습니다. 원인을 짚고 전송 스레드 분리와 ConcurrentWebSocketSessionDecorator로 개선한 과정을 정리했습니다.
WhyLog 실시간 음성 회의에서 처음엔 Spring 서버가 웹소켓으로 음성을 중계했습니다. 서버 중계·P2P·MCU·SFU를 비교해 SFU를 고르고, 백엔드는 접속 토큰만 발급하도록 역할을 나눈 과정을 정리했습니다.