Jitsi Videobridge를 확장된 다중 서버 환경에 맞게 구성하는 방법

Jitsi Videobridge(JVB) 서버를 추가하는 것은 Jitsi Meet 배포 환경의 미디어 용량을 늘리는 일반적인 방법입니다. 기존 Meet 호스트에 웹, Prosody 및 Jicofo 서비스를 유지하고, 동일한 Prosody 브리지 검색 룸에 등록되는 독립적인 브리지 서버를 추가합니다. 그러면 Jicofo는 사용 가능한 브리지에 새 회의를 연결할 수 있습니다. 이 기본 구성에서는 회의 참가자가 선택한 하나의 브리지를 사용하게 되므로, 배포 환경에 여러 개의 JVB 서버가 있다고 해서 반드시 Octo를 사용할 필요는 없습니다.

이 가이드는 Jitsi 핸드북의 Debian/Ubuntu 패키지 기반 확장 가능 설정(2026년 10월 6일 기준)을 따릅니다. 정확한 패키지 종속성 및 생성된 구성은 배포판, Jitsi 패키지 버전, 그리고 서버 설치 방식이 Docker인지 다른 방식인지에 따라 다를 수 있습니다. 기존 배포 환경에 맞는 공식 설치 가이드를 참조하십시오.

Jitsi에서 "멀티 서버"가 무엇을 의미하는지 이해하세요.

확인됨: 하나의 Jitsi Meet 설치 환경에서 여러 개의 비디오 브리지를 사용할 수 있습니다. Jicofo는 브리지를 모니터링하고 새 회의를 브리지에 할당합니다. Jitsi 핸드북의 간소화된 예시에서는 Meet 서비스를 하나의 서버에 설치하고 세 개의 JVB를 각각 다른 서버에 설치합니다. 각 브리지는 회의 참가자가 미디어에 접속할 수 있어야 하며, Meet 인프라에서 신호 처리를 위해 접근할 수 있어야 합니다.

흔히 잘못 알려진 사실: "JVB 앞에 로드 밸런서가 필요하다." 문서화된 멀티 브리지 설계에서 Jicofo는 브리지를 선택하고, 클라이언트는 해당 브리지로 미디어를 전송합니다. UDP 미디어 앞에 일반 HTTP 로드 밸런서를 배치하는 것은 브리지 검색이나 회의 배치를 대체할 수 없습니다. 조치: 각 JVB를 Prosody/Jicofo 브리지 풀에 추가하고 해당 브리지의 도달 가능한 미디어 주소를 게시하십시오. 모든 브리지의 미디어 트래픽을 임의의 UDP VIP 하나로 연결하지 마십시오.

흔히 잘못 알려진 사실: "브리지가 많을수록 하나의 회의가 모든 서버에 자동으로 분산된다." 기본 설정에서 Jicofo는 회의를 브리지에 할당합니다. 하나의 회의 참가자를 여러 지역 또는 브리지에 분산시키는 것은 Octo(현재 JVB 문서에서는 보안 릴레이라고 함)라는 별도의 릴레이 토폴로지를 통해 이루어집니다. 조치: 동시 회의 수를 늘리는 것이 목표라면 일반 브리지 풀링부터 시작하세요. 하나의 회의에서 여러 위치의 브리지를 사용해야 하거나 릴레이 동작이 필요한 경우에만 Octo를 검토하십시오.

설치하기 전에 브리지 풀을 계획하세요

각 JVB에 대해 하나의 공개된 안정적인 호스트 이름 또는 주소를 선택하십시오. XMPP MUC 상태를 사용하는 구성의 경우 모든 VM에 고유한 운영 체제 ID와 고유한 JVB 인스턴스 별칭을 지정하십시오. 모든 브리지는 동일한 Prosody 서비스 및 브리지 브루어리 룸에 연결할 수 있어야 합니다. 버전을 일치시키십시오. Jicofo는 동일한 회의에서 버전이 다른 브리지를 혼합하여 사용할 수 없으며, 현재 릴레이 문서에서도 Octo에 대해 이 제약 조건을 명시하고 있습니다.

길다음과 같은 경우에 사용하세요추가되는 것
여러 개의 JVB, 하나의 지역여러 개의 동시 회의를 처리할 수 있는 용량이 더 필요합니다.브리지 설치, 등록, 네트워크 접속 및 유효성 검사.
Octo는 여러 지역에 걸쳐 릴레이를 연결합니다.회의를 개최하려면 둘 이상의 지역에 참가자나 미디어 연결고리가 필요합니다.릴레이 ID 및 지역 설정, Colibri WebSocket 연결, Jicofo 전략 및 올바른 클라이언트 지역 정보.

사용 환경에 따라 다릅니다. VM당 참여자 수에 대한 일반적인 기준은 없습니다. Jitsi 자체 요구 사항 문서에서는 단일 고정 크기 수치보다는 네트워크 용량과 워크로드를 강조합니다. 코덱, 해상도, 동시 방송, 패킷 전송률, 동시 회의 수, 공급자 대역폭 모두 용량에 영향을 미칩니다. 조치: 실제 워크로드를 기준으로 기준을 설정한 다음 브리지를 하나씩 추가하면서 CPU 사용량, 네트워크 처리량, 패킷 손실률 및 회의 품질을 관찰하십시오.

여러 JVB 서버를 단계별로 구성하기

1. 기존 Meet 호스트가 정상적으로 작동하는지 확인하십시오.

머신을 추가하기 전에 기존 Meet 페이지가 제대로 로드되는지, Prosody와 Jicofo가 실행 중인지, 그리고 현재 브리지를 통해 테스트 통화가 완료되는지 확인하십시오. Jitsi 패키지 버전을 기록해 두세요. 코어 서버의 시그널링이나 인증서 설정에 문제가 있으면 네트워크 상태가 양호하더라도 새 브리지가 잘못 구성된 것처럼 보일 수 있습니다.

Debian/Ubuntu 패키지 설치 환경에서는 다음 명령어를 사용하여 서비스를 검사하고 systemctl status prosody jicofo jitsi-videobridge2서비스 로그를 검토하십시오. 설치 환경에 맞는 서비스 이름을 사용해야 합니다. 컨테이너화된 배포 환경에서는 다른 명령어와 로그 위치가 노출될 수 있습니다.

2. DNS, 라우팅 및 방화벽 규칙을 준비합니다.

각 브리지에 고유한 공용 IP 주소를 할당하거나 올바르게 구성된 1:1 NAT 매핑을 설정하십시오. 확장 가능한 설정 가이드에는 다음과 같은 일반적인 경로가 나와 있습니다. 공용 클라이언트는 TCP 80/443 포트를 통해 웹 호스트에 접속하고, JVB 서버는 TCP 5222 포트를 통해 Prosody에 접속하며, 클라이언트는 미디어 전송을 위해 UDP 10000 포트를 통해 각 비디오 브리지에 접속합니다. TCP 80 포트는 일반적으로 인증서 또는 리디렉션 설정에 사용되며, 실제 운영 중인 Meet 사이트는 HTTPS를 사용해야 합니다.

  • 서비스에서 지원하는 참여자 네트워크의 모든 브리지에 대해 UDP 10000 포트 인바운드를 허용하십시오.
  • JVB 호스트에서 Prosody로의 브리지 TCP 5222 포트를 허용하고, 방화벽에서 허용하는 경우 해당 호스트로만 제한하십시오.
  • 가능한 한 Prosody/XMPP 서비스를 의도된 인프라에만 비공개로 유지하십시오.
  • JVB의 비공개 HTTP/디버그 엔드포인트를 공개적으로 노출하지 마십시오. 공개 Colibri WebSocket 엔드포인트를 활성화하거나 프록시하는 경우, 해당 배포 환경에 대한 최신 JVB 및 역방향 프록시 문서를 따르십시오.

네트워크 환경에 따라 다릅니다. NAT, 클라우드 보안 그룹, IPv6, TURN 및 제한적인 기업 네트워크로 인해 추가적인 후보 경로가 필요할 수 있습니다. 기본 포트 목록만으로는 특정 방화벽을 통해 미디어가 작동한다는 것을 보장할 수 없습니다. 조치: 외부 클라이언트 네트워크에서 각 공용 브리지 주소로의 패킷 흐름을 확인하고 실제 통화를 테스트하십시오. XMPP 연결이 성공했다고 해서 UDP 미디어가 제대로 작동하는 것은 아닙니다.

3. 각 노드에 동일한 Jitsi Videobridge 패키지를 설치합니다.

Jitsi 저장소와 Meet 호스트 배포판에 맞는 패키지 설치 지침을 사용하십시오. 새 Debian/Ubuntu 노드마다 jitsi-videobridge2공식 확장 설정 지침에 따라 Meet 호스트 이름을 입력하고 패키지 구성 프롬프트에 응답하여 설치하십시오. 핸드북에 따르면, 문서화된 패키지 기반 설정의 경우 설치 후 기본 설정 외에 추가적인 변경 사항이 필요하지 않습니다.

의도적으로 독립적인 Meet 배포를 원하는 경우가 아니라면, 모든 브리지에 Jitsi Meet 스택을 완전히 새로 설치하지 마십시오. 브리지 풀의 경우, 코어 호스트에는 웹, Prosody 및 Jicofo 역할을 유지하고 다른 머신에는 JVB 서비스를 추가하십시오. 풀 전체에 동일한 지원되는 JVB 릴리스를 사용하고, 업그레이드를 단계적으로 진행하여 혼합 버전 풀이 필요 이상으로 오래 지속되지 않도록 하십시오.

4. 교량 등록 및 신원 확인

패키지 기반 설정에서는 먼저 공식 패키지 구성에서 예상 설정을 생성하도록 합니다. JVB는 Prosody에 연결하고 Jicofo가 모니터링하는 동일한 양조장 MUC에 브리지 상태를 알려야 합니다. 현재 XMPP 클라이언트 구성 경로를 사용하는 경우 JVB 설명서에서 관련 부분을 확인할 수 있습니다. videobridge.statsJicofo videobridge.apis.xmpp-client.configs는 해당 양조장에 연결해야 합니다 jicofo.bridge.brewery-jid.

일반적인 최신 구성은 다음과 같습니다. 모든 예시 값을 사용자의 설치 환경에 맞는 값으로 바꾸고 공유 암호를 보호하십시오.

videobridge {
  stats {
    enabled = true
    transports = [{ type = "muc" }]
  }
  apis {
    xmpp-client {
      configs {
        xmpp-server-1 {
          hostname = "meet.example.com"
          domain = "auth.meet.example.com"
          username = "jvb"
          password = "REPLACE_WITH_SECRET"
          muc_jids = "JvbBrewery@internal.auth.meet.example.com"
          muc_nickname = "bridge-01"
        }
      }
    }
  }
}

각 브리지마다 다른 별칭 muc_nickname(예: bridge-02및 bridge-03)을 사용하십시오. JVB 프로젝트는 별칭이 인스턴스 간에 고유해야 한다고 경고합니다. 정확한 구성 파일 이름과 이 명시적 블록이 필요한지 여부는 사용하는 패키지와 기존 설정에 따라 다릅니다. 설치된 버전의 설명서를 확인하지 않고 기존 패키지에서 생성된 설정 위에 수동으로 작성한 최신 구성을 덮어쓰지 마십시오.

5. 서비스를 시작하고 로그를 확인하세요.

새 호스트마다 JVB를 재시작하거나 시작한 다음, JVB가 활성 상태를 유지하고 Prosody에 연결되는지 확인하십시오. 확장 가능한 설정 가이드에서는 브리지 연결 상태와 Jicofo가 브리지를 검색하는지 확인하기 위해 Prosody 및 Jicofo 로그를 확인하도록 권장합니다. 브리지가 나타나지 않으면 다음 순서대로 확인하십시오. DNS 확인 및 TCP 5222 포트 연결 가능성; XMPP 자격 증명 및 도메인; 양조장 MUC 이름의 정확한 표기; 중복된 별칭; 그리고 JVB/Jicofo 버전 호환성.

6. 모든 브리지에서 외부 미디어 테스트를 실행하십시오.

새로운 테스트 회의를 여러 개 시작하고 Jicofo가 시간이 지남에 따라 사용 가능한 풀에 회의를 분산 배치하는지 확인하십시오. 회의 하나가 특정 브리지에 할당되는 것은 예상되는 결과이며, 이는 로드 밸런싱 실패를 의미하는 것은 아닙니다. Jicofo의 디버그 인터페이스(활성화되어 있고 접근이 제한된 경우)를 사용하여 사용 가능한 브리지와 활성 회의를 검사하십시오. JVB 설명서에는 curl http://localhost:8888/debug로컬 디버그 예제가 나와 있지만, 바인딩 또는 방화벽 진단 인터페이스를 사용하여 비공개로 유지해야 합니다.

서버 네트워크 외부의 클라이언트로 테스트하십시오. 오디오와 비디오가 정상적으로 작동하는지 확인한 후, 선택한 브리지 주소와 UDP 흐름을 검사하십시오. Jicofo에 브리지가 표시되지만 해당 브리지를 선택했을 때만 통화가 실패하는 경우, 해당 브리지의 공용 주소, NAT 매핑, UDP 방화벽 및 광고된 후보를 조사하십시오. 유지 관리 중에는 설치된 버전에 맞는 지원되는 드레인 또는 배포 절차를 통해서만 하나의 브리지를 사용 중지하십시오. 활성 브리지를 다시 시작하면 해당 브리지에 할당된 회의가 중단될 수 있습니다.

Octo를 언제 활성화해야 하나요?

Octo는 참가자들이 여러 지역에 분산되어 있는 경우처럼 단일 회의에서 여러 브리지를 사용해야 할 때 적합한 주제입니다. 일반적인 용량의 JVB를 추가하는 데 Octo가 필수 조건은 아닙니다. 현재 JVB 릴레이 문서에서는 각 참여 브리지에 릴레이 구성을 요구하고, 브리지 간 연결에는 Colibri WebSocket을 사용하며, 적절한 Jicofo 브리지 선택 전략을 수립해야 합니다. 또한, 지역 인식 기능을 구현하려면 Meet 구성에 정확한 클라이언트 지역 정보를 제공해야 합니다.

릴레이 구성에는 relay-id각 브리지에 대한 고유한 주소와 지역이 포함되며, Jicofo는 Octo를 활성화하고 전략을 선택합니다 RegionBasedBridgeSelectionStrategy. 릴레이 WebSocket 엔드포인트는 모든 프록시를 통해 올바르게 라우팅되어야 합니다. 이러한 설정은 릴리스 및 토폴로지에 따라 변경되므로 최신 릴레이 가이드를 따르고 배포 전에 정확한 프록시 경로를 확인하십시오.

조치: 단일 지역 브리지 풀을 사용하는 경우 Octo를 비활성화 상태로 유지하십시오. 여러 지역이 필요한 경우, 문서화된 분할 전략을 사용하여 스테이징 환경에서 테스트하고 Jicofo의 브리지 선택기 및 회의 상태를 확인한 후 클라이언트 지역 및 지역 기반 선택을 구성하십시오. 클라이언트가 일치하는 지역 메타데이터를 수신하는 방법을 알기 전까지는 지역 레이블을 설정하지 마십시오.

규모 확장 시 모니터링해야 할 사항

  • 네트워크: 송신 및 수신 처리량, 패킷 손실, 지터, 그리고 실제 클라이언트 네트워크에서 UDP 10000 포트에 접근 가능한지 여부.
  • 호스트 부하: CPU, 메모리, JVM 상태 및 지속적인 패킷 전송률. 전체 통화 횟수를 가정하는 대신 대표적인 회의 수를 기준으로 규모를 결정합니다.
  • 풀 멤버십: Jicofo의 브리지 존재 여부, 버전 일관성, 그리고 새로 생성된 컨퍼런스가 모든 노드에 적용될 수 있는지 여부.
  • 참가자 경험: 예상 최대 동시 접속자 수에서의 오디오 연속성, 비디오 끊김, 재연결 및 품질.

사용자가 특정 JVB에서만 문제를 보고하는 경우, 전체 클러스터를 확장하기 전에 해당 노드의 네트워크 경로 및 구성을 정상 작동하는 피어와 비교하십시오. 모든 브리지가 동시에 성능 저하를 보이는 경우, 병목 현상은 공유 대역폭, 코어 시그널링 서비스 또는 참여자 네트워크에 있을 수 있습니다. 확장은 새 브리지가 독립적으로 접근 가능하고, 올바르게 등록되었으며, 실제 테스트에서 부하를 눈에 띄게 줄일 때 효과적입니다.

공식 참고 자료

댓글 남기기

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

빠른 LAN 검색, 플랫폼 간 스캔 및 IP 주소 관리를 위한 10가지 핑 스윕 도구를 비교해 보세요. 스윕을 통해 무엇을 알 수 있고 무엇을 알 수 없는지 알아보세요.

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

SNMP 적용 범위, 매핑, 알림, 배포 모델 및 비용 대비 효과를 포함하여 성능 모니터링을 위한 6가지 네트워크 관리 도구를 비교합니다.

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iPhone, Android용 Wi-Fi 분석 앱들을 비교해 보세요. 채널 혼잡도, 신호 범위, 히트맵, 네트워크 문제 해결 도구 등을 포함합니다.

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

종합적인 네트워크 관리 도구부터 특정 지연 시간 측정에 특화된 도구까지, 7가지 무료 오픈 소스 핑 모니터링 도구를 비교하고 가용성, 패킷 손실률, 기록 관리에 적합한 도구를 선택하세요.

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서 QoS가 무엇을 의미하는지, DSCP 마킹과 트래픽 큐가 음성, 비디오 및 비즈니스 애플리케이션의 우선순위를 어떻게 지정하는지, 그리고 QoS로 해결할 수 없는 문제는 무엇인지 알아보세요.

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap의 --traceroute 옵션을 사용하여 홉을 인증된 호스트로 매핑하고, 홉 및 RTT 출력을 이해하고, 과도한 스캔 없이 누락된 응답 문제를 해결할 수 있습니다.

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

Windows 및 Linux용 안정적인 SFTP 서버 소프트웨어(OpenSSH, Bitvise, SolarWinds, SFTPGo 등)를 비교해 보세요. 보안 및 파일 전송 요구 사항에 맞는 최적의 솔루션을 찾아보세요.

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

서브넷 검색, DNS 및 DHCP 조정, 네트워크 인벤토리, 오픈 소스 IPAM을 위한 7가지 IP 주소 관리 도구를 비교합니다.

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

SolarWinds NPM, PRTG 및 OpManager를 비교하여 명확한 장치 범위, 유용한 성능 지표, 실행 가능한 알림을 통해 실용적인 네트워크 모니터링 시스템을 구축하십시오.

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

빠른 장치 검색, 플랫폼 간 IP 스캔 및 엔터프라이즈 IPAM을 위한 네트워크 스캐너 도구를 비교하고, 각 옵션을 네트워크에 맞게 선택하는 방법에 대한 지침을 제공합니다.