Pointers on extending LoadBalancing demo?

Options
oxyscythe
edited April 2013 in Photon Server
I'm looking for general documentation/resources in terms of extending the LoadBalancing demo. I was wondering if anyone knows of any good sources to point me towards?

I've also got two specific questions on this stuff for now:

1. The LoadBalancing demo covers pretty much 90% of the functionality we need so I was thinking I'd just reuse it as much as possible and extend it where it doesn't cover our needs.

I tried creating a new project that references the Loadbalancing (and Lite) demo and I started creating a new library on top of these with basically my "custom" classes just inheriting from things like MasterApplicationBase and Game (in Photon.LoadBalancing.GameServer) etc and I edited the PhotonServer.config by adding my "CustomMasterServerApplication" where the LoadBalancing application is currently.

However once I ran the LoadBalancing application from the control panel I got an error saying "CustomMasterServerApplication: Cannot create object"

Is this not the right approach to be taking? And do you know of any resources/documentation that you could point me to for more information on how I could go about achieving this?

Edit: Ignore this part of the question. I just did everything again from scratch and it seems to be working fine now, creating my custom application, creating logs for it and everything. Not sure what I was doing wrong before. Still interested in general pointers on extending LoadBalancing of course!

2) From reading the Loadbalancing code and the documentation I get the impression that you need to have multiple server applications on multiple server instances *already* running to make use of all the loadbalancing cleverness, I.e. all the master server will do is just reroute new game requests to the least "fatigued" server instances which are already running instances of my game server photon application.

Which is very cool in itself of course. However I always thought the power of loadbalancing comes from dynamically starting and killing server instances according to the needs of the global load (mind you I am a complete noob in all this so it's not entirely unlikely I had a completely wrong impression). Like I say having a bunch of server instances already running and being able to redirect to them is already pretty cool (and a good enough solution), but I was wondering whether maybe something like the Azure SDK would come with functionality where you'd be able to programmatically start and stop instances as needed (which would be even cooler!)

Sorry for the long questions!

Comments

  • Hi,

    1.) There is currently no real demo / tutorial how to extend Loadbalancing. Sorry. I'll see if we can write a short article about it in the future. Thanks for letting us know that there is a need for it.

    2.) The Azure SDK doesn't have this functionality yet, but it's a goal for us, yes. After all, that's one of the cool Azure features, so of course we want to make use of it. :) It's not high prio right now, but we'll certainly look into it some time in the future.
  • Awesome, cheers for the quick response Nicole.

    Taking in mind your answer in question 2) I was wondering then what the advantages might be of using the Azure SDK over, say, running the server on any other cloud service provider (for instance we're using EC2 currently)
  • constrictus
    Options
    It would be nice to have some pointers here...
  • Pain
    Options
    I need to extend LoadBalancing, too !

    Please make some tutorial about this