Load Balancing / Relay Functionality

Post here your suggestions for new possible features in SmartFoxServer.

Moderators: Lapo, Bax

Post Reply
Atlas
Posts: 21
Joined: 27 Dec 2005, 09:36

Load Balancing / Relay Functionality

Post by Atlas »

Just wondering if there were any plans to add the ability to link two different SmartFoxServer servers together that are running the same game. For example, a certain game might require two servers to happily run a certain large number of simultaneous users. But rather than making players decide which server they want to play on, it might also be interesting for SmartFoxServer to automatically place users on the desired server based on load, while still allowing users on different servers to chat with eachother. In other words, it would be interesting to have two servers run a game and have this be completely transparent to the player.
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

Just wondering if there were any plans to add the ability to link two different SmartFoxServer servers together that are running the same game.
Not at the moment. The server is already capable of handling many thousands of connections with a single machine.
Let's say we can handle 5000 users on a single server and our game uses rooms with a capacity of 25 clients each.

If you need to handle a possible peak of 10k users you will need 2 server machines but hardly you will need that these clients can all see and interact with each other... I mean all 10k in their 500 rooms!! :shock:

A good solution is to run two separate servers each one handling their 5k users and sharing the same database (installed on a 3rd machine) so that the game world stay consistent.
At login the client application will check which server is available or has less load and connect to it.

More in general this approach allows to simply add a little of extra logic on the client side (it could be also the server side) to choose which is the best machine to connect to based on the amount of traffic or the region where the client is coming from etc...

Anyway, even if this feature is not on the to-do list we don't exclude to implement it if we'll find it useful :)
Lapo
--
gotoAndPlay()
...addicted to flash games
Atlas
Posts: 21
Joined: 27 Dec 2005, 09:36

Post by Atlas »

Thanks for the reply. I didn't realize that a single server could happily run that many clients simultaneously.
DavidPesta
Posts: 27
Joined: 13 Apr 2006, 19:22

Post by DavidPesta »

I guess this is becoming an old thread, but..

I suppose if a massive multiuser application had several components--fundamental areas of the application--that these fundamental areas can exist on separate servers. When a user wants to go from Area A to Area B, the Server A can simply send the user over to Server B seamlessly.

And if Server B ever had 5k clients connected to it, then the client can receive a "sorry, but that area is full right now, please wait in Area A until Area B has room". So if we then got yet another server we could have TWO load balanced Server B's that would handle the 10k users.

Is something like this possible, am I correct about this?

David
Post Reply