와우자 XML 설정 파일 종류와 속성 변경 방법 : 기본 프로퍼티와 사용자 프로퍼티 수정
Wowza Streaming Engine 동작을 정의하는 Built-in/Custom Property(기본/사용자 속성) 및 설정을 관리하는 XML 파일 종류. 웹 UI vs XML 파일 수정을 통한 속성 추가 변경 방법을 설명한다.
와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자)은 많은 기능과 설정 항목들을 가지고 있다. 와우자 서버는 각각의 기능이 어떻게 동작해야 하는지 정의한 설정 항목을 가지고 있으며 이를 프로퍼티(Property, 이하 속성)라 부른다.
사용자가 와우자 서버의 설정을 변경한다는 의미는 이 속성을 변경한다는 의미이다. 즉, 사용자의 요구대로 와우자 서버를 구성하기 위해서는 속성과 속성을 다루는 방법에 대해 익숙해 져야 할 필요가 있다.
와우자의 속성(프로퍼티, Property)
속성, 설정 값, 속성 값등으로 번역될 수 있는 와우자의 프로퍼티(Property, 이하 속성)는 특정 애플리케이션, 스트리밍 설정, 또는 전체 서버 동작의 방법을 정의하고 사용자의 요구대로 와우자 서버가 동작하게 해 주는 중요한 개념이다.
와우자의 설정은 기본적으로 NAME, VALUE, TYPE 등의 서브태그가 존재하는 Property 엘리먼트로 표현된다. 일반적인 소프트웨어에서 사용되는 Key-Value 형태와 유사하며, 특정한 XML 파일의 형태로 저장해 사용 및 관리한다.
<Property>
<Name>duplicateStreamsTargetAppName</Name>
<Value>AppToReceive</Value>
<Type>String</Type>
</Property>
//예시 – Application.xml 설정파일에 추가된 사용자 속성, NAME-VALUE-TYPE의 구성
<?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)
기본 속성들은, 와우자에서 기본적으로 제공하는 기능들이 어떤 방법으로 동작해야 하는지 정의한다. 예를들어 와우자 서버에 장착된 여러 랜카드 중에서 멀티캐스트 입력을 위한 랜카드를 지정하기위해 사용되는 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 파일을 수정하는 것을 목적으로 한다. 아래에 같은 속성을 변경하기 위한 두 가지 방법의 비교 예시가 있다.
/conf/VHost.xml /VHost/HTTPTunnel | Server→VirtualHost→Properties→HTTP Tunnel |
| ![]() |
XML파일 직접수정 | 웹 UI 이용 |
/conf/Application.xml /Application/Properties | Application→Properties→Custom |
| ![]() |
결론 : 어떤 방법을 사용해야 하는가?
위에서 본 바와 같이, 웹 UI 를 통한 설정과 XML 파일을 직접 수정 하는 것은 방법의 차이가 있을 뿐, 결국 동일한 결과를 만들어 낸다. 이러한 이유로 일단 운영자에게 익숙하고 편리한 방법을 선택하는 것이 가장 좋은 선택이다.
다만, 본 필자는 한 가지 방법에만 머물러 있지 않을 것을 권한다. 상황에 따라 두 가지 방법을 모두 활용할 수 있어야 더 유연한 운영이 가능하기 때문이다. 특히, 웹 UI에서는 노출되지 않는 고급 설정이나 사용자 정의 속성을 건드려야 할 경우, XML 파일을 직접 수정해야만 할 수도 있다.
모쪼록 본 필자의 글이, 독자 제위의 와우자 설정에 대한 이해에 작게나마 도움이 되기를 소망한다.