Skip to main content
March 5, 2009
Answered

Cluster without load balancer?

  • March 5, 2009
  • 3 replies
  • 499 views
Can two FMS interactive servers work this way:
1. they both serve the same VOD flv file existing on both machines
2. whe one server gets X users connected, next user (X+1) is routed to the next server
3. there is no hardware for the load balancer

Is this possible and if it is, how?
    This topic has been closed for replies.
    Correct answer
    Yes.... it's possible, but there's nothing built-in to FMS to handle it. You need to write your own application to do it.

    I like to handle this by building a little app that polls the admin service of each involved server once a second or so, and retrieves stats about the application instances i need to keep track of (we'll call it the "load balancer app" . In this application, I include functions to loop through the stats data for each server, and determine which is the most logical to send the next client to.

    On the client side, I first connect to the load balancer app, providing an identifier for the application I want to connect to as an argument in the connect() call. The load balancer makes the best server determination, and returns the host name of the target server. The client then disconnects from the load balancer, and connects to the target host.

    3 replies

    March 5, 2009
    Actually... let me take that answer back to some extent. FMs applications that handle data need a intermediary app to handle balancing, but for vod only, you might be able to set up an origin/edge cluster. I haven't done that myself... so I take back the "nothing built-in to FMS to handle it" comment... maybe someone with more experience with origin/edge setup will chime in on this.
    March 5, 2009
    Sir, thank you very much for your answer!

    If you can, please post more details about the "load balancer app" - link, example, hint, anything you find appropriate would be great!

    Thank you again.
    Correct answer
    March 5, 2009
    Yes.... it's possible, but there's nothing built-in to FMS to handle it. You need to write your own application to do it.

    I like to handle this by building a little app that polls the admin service of each involved server once a second or so, and retrieves stats about the application instances i need to keep track of (we'll call it the "load balancer app" . In this application, I include functions to loop through the stats data for each server, and determine which is the most logical to send the next client to.

    On the client side, I first connect to the load balancer app, providing an identifier for the application I want to connect to as an argument in the connect() call. The load balancer makes the best server determination, and returns the host name of the target server. The client then disconnects from the load balancer, and connects to the target host.