• How to get Dynamic Load Balancing AddOn

    The Dynamic Load Balancing AddOn package provides system load balancing between multiple servers running Wowza server software. Each edge server is configured to use the ServerListenerLoadBalancerSender ServerListener class. We'll call these servers the "edge" servers. Edge servers will periodically (about every 2.5 seconds) send load and status information over UDP to a single (or multiple) Wowza servers running the ServerListenerLoadBalancerListener ServerListener. We'll call this server the "load balancer." The load balancer will keep track of the load and availability of each edge server with which it's communicating. See the README.html file in the package for detailed instructions.

    Version for Wowza Media Server® (version 2 or later) and Wowza Streaming Engine™:

    RSS Feed

     AddOns RSS Feed


    Note: Changes and updates to this AddOn are listed in the version.txt file that is included in the AddOn package.


    Comments 110 Comments
    1. Zlate87 -
      Hi,

      I'm would like to user Wowza on two (for now) servers. I have read the article about Dynamic Load Balancing solution, and I have few questions:

      Once the servers are ready, how do I connect the encoder? Do I need separate encoder for all edge servers, or is there a way to use one encoder for all.

      How will the redirect work for iPhone, Android and BlackBerry? I guess I will need to do this my self (write a code to do this).

      I will need to have multiple stations streaming. How will the creation of the stations go? For example, if I have 100 stations and I need to add new server, will I need to create all 100 stations manually on the new server?

      Thanks,
      Zlatko
    1. rogerlittin -
      You need to connect the encoder to the origin server and then repeat the stream onto the edge servers. This is easiest to do with the Stream Manager or StartupStreams.xml

      To get the edge server to connect to, there is an HTTPProvider that you can enable on the load balancer which will return the ip address for the least loaded edge server.

      One of the servers can act all 3 roles using separate applications and the other can purely act as the edge server. Refer to the documentation that comes with the Load Balancer plug-in for information about configuration.
    1. Zlate87 -
      Thanks for the info.
    1. Zlate87 -
      I was able to re-stream the live signal using StartupStreams.xml.

      What about the on demand files? I guess I need to manually upload the files to all servers, am I right?

      Thanks.
    1. rrlanham -
      You can use a MediaCache Addon package to do something similar to liverepeater in a video on demand application, so that you do not have to replicate content on each edge.

      http://www.wowzamedia.com/forums/con...nd-scalability

      Richard
    1. gabole29 -
      Hello

      when going to http://server:1935/loadbalancer

      i have this: redirect=uknown

      what did i forget ?

      thanks !

      Gabriel
    1. rrlanham -
      Make sure UDP port 1934 is not blocked between the Load Balancer Listener and LB senders.

      Check the loadbalancertargets.txt file on the edge.

      Richard
    1. uurazzle -
      So, you will need another license of wowza server, correct? Also, if I am using files locally on one server that is running wowza service, I will also need the media files locally on the load balanced server?
    1. rrlanham -
      Yes, you need a license for each server if you are doing origin/edge configuration.

      If you are doing vod, the origin can be a content server (either a web server or network file system) using the MediaCache Addon:

      http://www.wowzamedia.com/forums/content.php?121

      Using MediaCache, you do not have to replicate content on each edge. Alternatively, you can replicate content on each server. It's less complicated and more performant, but less flexible: you cannot scale as quickly.

      Richard
    1. uurazzle -
      So, does the MediaCache Addon support live broadcast? Does it support flash, rtps (QuickTime), http streaming? Were can I get more details on the MediaCache Addon?

      Quote Originally Posted by rrlanham View Post
      Yes, you need a license for each server if you are doing origin/edge configuration.

      If you are doing vod, the origin can be a content server (either a web server or network file system) using the MediaCache Addon:

      http://www.wowzamedia.com/forums/content.php?121

      Using MediaCache, you do not have to replicate content on each edge. Alternatively, you can replicate content on each server. It's less complicated and more performant, but less flexible: you cannot scale as quickly.

      Richard
    1. rrlanham -
      MediaCache details are here:
      http://www.wowzamedia.com/forums/content.php?121

      For Live streaming, use the Liverepeater system (origin/edge configuration). There are detailed setup instructions in the Wowza User Guide for setting up a Liverepeater system.

      Richard
    1. ecropolis -
      If I launch a load balancer on EC2 can it act alone as a live streaming server until I needed to scale up?
      To route by IP to closest server; I need to do that on my own, correct? Or does Amazon routing built into the network?
    1. rrlanham -
      Yes you can do that. The design of Liverepeater and the Wowza dynamic load balancer allows you to configure a single server with an origin application*, an Edge application, and as a Load Balancer Listener and Sender. It's a great way to test all of those components as a system, and as a production configuration as you describe to scale up from.

      * Liverepeater Origin and Edge are application configurations. The terms "origin server" and "edge server" are misleading.

      Richard
    1. benbiles -
      does anyone have working start up packages for both 'live repeater origin loadbalancer listener' and 'live repeater edge laodbalancer sender' for EC2 AMI ? that way those of us new to load balancing could add the 'live repeater origin load balancer Listener' instance IP to the load balancer sender config and have a easy to install load balanced cluster ready for deloyment?
    1. rrlanham -
      You will have to start with liverepeater-edge.zip startup package from here:
      http://wowzamediasystems.s3.amazonaw...ckagelist.html

      Unzip, then configure load balancer listener, then zip it up again.

      Follow this guide to add:
      http://www.wowzamedia.com/forums/con...ncing-solution

      You will need to add a /conf/Server.xml file to the package. Grab that from current Wowza EC2 instance.

      Richard
    1. benbiles -
      Hi richard, thanks for the reply. I cannot see a guide for adding loadbalancing app to startup package 'liverepeater edge' or 'liverepeater origin' can you explain what I copy from loadbalancing application to the wowza folder of the liverepeater edge startup package? and where do I copy the Sever.xml too? wowza/conf/ of both the liverepeater edge startup package and the liverepeater origin startup package?
    1. rrlanham -
      Right, the startup packages have the same structure as Wowza configuration, and are copied over the instance. So anything that you want to change or add to the instance you add to the startup package. The liverepeater-edge.zip startup package does not include a /conf/Server.xml file because the default on the instance is okay as-is, but in this case the Load Balancer Listener and Sender require changes to Server.xml, so you will have to get a copy of that to add to your startup package and make the required changes (add ServerListener), and add other files like the target.txt file on the edge, everything necessary followingthe load balancer guide to configuring the startup package, everything must be done in the package.

      Richard
    1. benbiles -
      ok, i understand now. you need to set

      <ServerListener>
      <BaseClass>com.wowza.wms.plugin.loadbalancer.ServerListenerLoadBalancerListener</BaseClass>
      </ServerListener>

      in Server.xml in liverepeater-origin loadbalancer listener etc

      ok, next question,

      can i just braodcast to rtmp://x.x.x.x/live/_definst_/live to the origin with FMLE etc? or do i have to stream to liverepeater application on the origin? so that load balancing will occour?

      i have'nt installed the live application in the startup package yet.
    1. rrlanham -
      You publish to the origin. The origin is the "live" app.

      Encoder publish or pull > liverepeater-origin pull > liverepeater-edge(s)

      Publish
      Connect: rtmp://x.x.x.x/liveorigin
      Stream: myStream

      Richard
    1. benbiles -
      i have no application rtmp://x.x.x.x/liveorigin ? i cannot connect to that. i can connect to rtmp://x.x.x.x/liverepeater stream live. on the origin server, is this correct? also how can i monitor if the load balancer is working? this http://&#91;load-balancer-ip-address]:19...?serverInfoXML brings up nothing but the server info. no connection info.