데모와 자체 피드백을 거친 결과, 기존의 음성채팅 기능의 경우 크게 2가지 문제가 있었다.
해당 문제를 해결하고 트래픽이 증가하더라도 서비스를 제공할 수 있도록 음성채팅 기능을 전반적으로 개선하였다
기존 음성 트래픽 흐름은 다음과 같았다.
graph LR
subgraph Internet [Public Network]
C[Client]
end
subgraph Docker_Host [Docker Host]
direction LR
Port[Port Forwarding<br/>0000-2000]
subgraph Container [Container: MediaSoup]
App[Server / Worker]
end
end
C -- "RTP Traffic" --> Port
Port -- "NAT / Routing" --> App
음성 데이터 송, 수신을 위한 포트를 도커 네트워크에서 별도로 열어주고 있었기 때문에, 도커 컨테이너를 올리거나 내릴 때마다 설정 해둔 약 2000개의 포트를 바인딩하는 작업을 진행해야 했다