Skip to main content
Participant
June 2, 2009
Question

Scaling the Server

  • June 2, 2009
  • 1 reply
  • 735 views

Hello,

I read the documentation about scaling the server:

http://help.adobe.com/en_US/FlashMediaServer/3.5_TechOverview/WS5b3ccc516d4fbf351e63e3d119ed944a1a-7ff3.html

Now I am a bit worried because it says

"Edge servers are a good solution for one-way video on demand (vod), one-way live events, and one-way live 24x7 streams. Edge servers enhance security, distribute the load of connection requests, and conserve bandwidth and system resources for high-volume one-way streaming."

But I am planning interactive webcam streams for users from different locations.

So I need something like a edge server, that also works for two-way connections.

Is this not possible with the Flash Media Interactive Server?

How can I make sure, that a large number of clients from different locations (e.g. Europe and Asia) have fast access to the server?

Thanks,

Thomas

    This topic has been closed for replies.

    1 reply

    June 2, 2009

    This is something you would need to handle within your application code... there really isn't any sort of built in support for scaling multiway communcations.

    When I scale such applications, I like to set up an master/slave structure where the master controls the application, and the slaves report to the master. When a client connects to a slave, the slave reports to the master and provides details about the client (id, username, stream name, etc). The master then passes that information along to the other slaves, so each server in the cluster is aware of which server each client is connected to. Then, when a client stream is required, each server in the cluster connects to that stream's host.

    In your case of two-way communication, the master app might simply serve as controller that keeps track of where the users are, and just provides your client side app with connection information.

    It's a bit of a complicated task, but it's definitely do-able.

    ThomasB09Author
    Participant
    June 3, 2009

    sad to hear that.

    I think I'm not the only person interested in a solution like that. Every video conferencing app developer will face the same problem.

    Is there somewhere a sample or tutorial how to do that?

    June 3, 2009

    No tutorials that I'm aware of, but really, if one's SSAS skills are up to snuff, it's not that huge an undertaking.

    I don't really think this is something that could be effectively built in to FMS. There are a lot of different ways a programmer might want to structure an application... it would be impossible for the FMS engineers to come up with a scaling plan that would suit them all.

    Another option... you might consider balancing based on load, rather than scaling t he app instances across multiple servers. Since you're talking about two way communications, you really just need to know that there is available resources on the server before you assign the chat instance to a server. With that in mind, you could use the admin API in conjuntion with an FMS app (or an app on a different application server) that checks the available bandwidth and system resources on each server in the cluster before connecting the user.