Hi all,
I am in the process of designing a client server app that will use WCF to communicate with the client. It is possible it could become heavily loaded and want to design it in a distributed manner. To that end I have split the application into a number of services. N number of services could be running to deal with the requests.
- Login service
- game service
- room service
- etc
The login service would be able to have a load balancer on it. it would then send the request off to one of the game services running, (there could be N game services running on different machines).
What I am trying to figure out is how could the login service know about the game services. I can think of (at a real high level at this point) two solutions:
1) When a game service comes up it creates a record in the database saying who it is and where it is, the login service checks there to find all services. This seems to have problems, services dropping, keeping the list up to date.
2) When a new service joins it contacts a login service, (not sure how that would happen, presume some sort of hard coding on how to find it), and registers with that service. The login service could then maintain a DHT or some list among them so they know where to route the request.
I am new to the whole distributed apps world and trying to figure out a good way of doing things. This project is partly for my own knowledge and gain but also I hope it will progress into a working app.
Thanks