와우자 XML 설정 파일 종류와 속성 변경 방법 : 기본 프로퍼티와 사용자 프로퍼티 수정
Wowza Streaming Engine 동작을 정의하는 Built-in/Custom Property(기본/사용자 속성) 및 설정을 관리하는 XML 파일 종류. 웹 UI vs XML 파일 수정을 통한 프로퍼티 추가 변경 방법을 설명한다.
와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자)은 많은 기능과 그에 따른 설정 항목들을 가지고 있다. 와우자 서버의 기능 동작을 정의한 설정 항목을 프로퍼티(Property, 속성)라 부른다.
사용자가 와우자 서버의 설정을 변경한다는 의미는 이 프로퍼티를 변경한다는 의미이다. 즉, 사용자의 요구대로 와우자 서버를 구성하기 위해서는 프로퍼티와 프로퍼티를 다루는 방법에 대해 익숙해 져야 할 필요가 있다.
와우자의 속성, 프로퍼티(Property)란?
속성, 설정 값, 속성 값등으로 번역될 수 있는 와우자의 프로퍼티는 특정 애플리케이션, 스트리밍 설정, 또는 전체 서버의 동작 방법을 정의하고, 사용자의 요구대로 와우자 서버가 동작하게 해 주는 중요한 개념이다.
와우자의 설정은 기본적으로 NAME
, VALUE
, TYPE
등의 서브태그가 존재하는 프로퍼티 엘리먼트로 표현된다. 일반적인 소프트웨어에서 사용되는 Key-Value 형태와 유사하며, XML 파일의 형태로 저장해 사용 및 관리한다. 다음은 Application.xml
파일과 VHosts.xml
의 예로, 프로퍼티 엘리먼트의 형태를 확인할 수 있다.
<Property>
<Name>duplicateStreamsTargetAppName</Name>
<Value>AppToReceive</Value>
<Type>String</Type>
</Property>
//Application.xml 의 예
<?xml version="1.0" encoding="UTF-8"?>
<Root version="1">
<VHosts>
<VHost>
<Name>_defaultVHost_</Name>
<ConfigDir>${com.wowza.wms.ConfigHome}</ConfigDir>
<ConnectionLimit>0</ConnectionLimit>
</VHost>
</VHosts>
</Root>
//VHosts.xml 의 예
와우자의 설정 파일들은 어떤 것들이 있는가?
와우자의 주요 설정 파일들과 해당 설정 파일이 담당하는 영역은 다음과 같다.
- Server.xml
- 와우자 서버의 전반적인 동작, 외부 연동 인터페이스, 관리방법 등
- MediaCache.xml
- VOD 서비스 콘텐츠들에 대한 캐시 설정 등
- Tune.xml
- 자바 성능 관련
- VHost(s).xml
- 가상 호스트 관련
- StartupStreams.xml
- 와우자 기동시 자동 사용할 스트림
- Application.xml
- 와우자 어플리케이션
프로퍼티의 종류 : 기본 프로퍼티과 사용자 정의 프로퍼티
이러한 와우자의 프로퍼티들은 크게 기본 프로퍼티(Built-in Property)과 사용자 정의 프로퍼티(Custom Property)으로 나눌 수 있다.
기본 프로퍼티(Built-in Property)
기본 프로퍼티들은, 와우자에서 기본적으로 제공하는 기능들이 어떤 방법으로 동작해야 하는지 정의한다. 예를들어 와우자 서버에 장착된 여러 랜카드 중에서 멀티캐스트 입력을 위한 랜카드를 지정하기위해 사용되는 VHost.xml
파일의 MulticastInterfaceAddress
같은 프로퍼티가 이에 해당한다.
<Incoming>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>2048000</ReceiveBufferSize>
<SendBufferSize>65000</SendBufferSize>
<MulticastBindToAddress>true</MulticastBindToAddress>
<MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress>
<TrafficClass>0</TrafficClass>
<MulticastTimeout>50</MulticastTimeout>
<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
</Incoming>
사용자 정의 프로퍼티(Custom Property)
사용자 정의 프로퍼티은 사용자가 직접 추가할 수 있는 확장 프로퍼티이다. 사용자가 추가로 등록한 확장 자바모듈등을 실행하거나, 활성화 되어 있지 않은 기본 기능들을 추가로 사용해야하는 등의 상황에 사용된다. 사용자의 필요에 따라 임의의 값을 자유롭게 할당할 수 있다.
와우자의 기본 설치에는 포함되지 않아 추가로 설치해야 하는 ModuleDuplicateStreams
모듈을 사용하기 위해 추가하는 duplicateStreamsStreamNames
와 같은 프로퍼티들이 이에 해당한다.
<Property>
<Name>duplicateStreamsStreamNames</Name>
<Value>MusicBox</Value>
<Type>String</Type>
</Property>
웹 UI 수정 vs XML 파일 수정
와우자의 프로퍼티변경 작업은 두가지 방법으로 진행할 수 있다. 하나는 웹 UI(Streaming Engine Manager)를 사용하는 방법, 또 다른 하나는, 서버의 XML 구성 파일을 직접 수정하는 방법이다.
두 방법 모두 궁극적으로는 설정을 저장하고 있는 XML 파일을 수정하는 것을 목적으로 한다. 아래에 같은 프로퍼티을 변경하기 위한 두 가지 방법의 비교 예시가 있다.
XML파일 직접수정 | 웹 UI 이용 |
---|---|
/conf/VHost.xml /VHost/HTTPTunnel | Server→VirtualHost→Properties→HTTP Tunnel |
| ![]() |
결론 : 어떤 방법을 사용해야 하는가?
위에서 본 바와 같이, 웹 UI 를 통한 설정과 XML 파일을 직접 수정 하는 것은 방법의 차이가 있을 뿐, 결국 동일한 결과를 만들어 낸다. 이러한 이유로 일단 운영자에게 익숙하고 편리한 방법을 선택하는 것이 가장 좋은 선택이다.
다만, 본 필자는 한 가지 방법에만 머물러 있지 않을 것을 권한다. 상황에 따라 두 가지 방법을 모두 활용할 수 있어야 더 유연한 운영이 가능하기 때문이다. 특히, 웹 UI에서는 노출되지 않는 고급 설정이나 사용자 정의 프로퍼티를 건드려야 할 경우, XML 파일을 직접 수정해야만 할 수도 있다.
모쪼록 본 필자의 글이 독자 제위의 와우자 설정에 대한 이해에 작게나마 도움이 되기를 소망한다.
요약 및 FAQ
- 와우자 스트리밍 엔진의 프로퍼티(Property)란?
- 와우자 스트리밍 엔진에서 프로퍼티(Property)는 속성, 설정 값, 속성 값 등으로 번역할 수 있다. 특정 애플리케이션, 스트리밍 설정 또는 전체 서버의 동작 방식을 정의하는 설정 항목이며, XML 파일 형태로 저장되며, 일반적으로 NAME, VALUE, TYPE과 같은 하위 태그를 포함하는 Key-Value 형태를 가진다.
- 와우자의 주요 설정 XML 파일은 어떤 것이 있는가?
- 와우자의 주요 설정 파일에는 서버 전반의 동작을 다루는 Server.xml, VOD 콘텐츠 캐시 설정을 위한 MediaCache.xml, 자바 성능 관련 Tune.xml, 가상 호스트 설정을 위한 VHost(s).xml, 자동 시작 스트림을 정의하는 StartupStreams.xml, 그리고 와우자 어플리케이션 설정을 위한 Application.xml 등이 있다.
- 와우자 프로퍼티의 종류는?
- 와우자가 기본적으로 제공하는 기능들의 동작 방식을 정의하는 ‘기본 프로퍼티(Built-in Property)’와 사용자가 필요에 따라 직접 추가하는 ‘사용자 정의 프로퍼티(Custom Property)’의 두 가지로 나눌 수 있다.
- 기본 프로퍼티(Built-in Property)란?
- 와우자 스트리밍 엔진에 기본적으로 내장된 기능들이 어떻게 작동해야 하는지를 정의하는 설정값이다.
- 사용자 정의 프로퍼티(Custom Property)란?
- 사용자가 직접 추가하여 사용하는 확장 설정값이다. 기본적으로 활성화되어 있지 않은 기능을 사용할 때 필요에 따라 임의의 값을 설정하여 사용한다.
- 와우자 서버의 프로퍼티의 변경 방법은?
- 와우자 서버의 프로퍼티는 웹 기반 관리 도구인 스트리밍 엔진 매니저(Streaming Engine Manager)를 사용하거나, 서버 내의 XML 설정 파일을 직접 수정하는 두 가지 방법으로 변경할 수 있다.
- 프로퍼티 변경 시 웹 UI 를 이용하는 것과 와 XML 파일을 직접 수정 하는 것의 차이는?
- 두 방법 모두 동일한 결과를 가져오므로 차이는 없다. 다만, 웹 UI에서는 접근할 수 없는 고급 설정이나 사용자 정의 프로퍼티를 다루어야 할 경우 XML 파일을 직접 수정해야 할 수 있으므로, 상황에 따라 두 가지 방법을 모두 활용할 수 있어야 한다.