Multiple servers for client server application
I am writing a client server application. I suspect I'll have 250,000 clients at peek times.
What types of socket bottle necks should I expect?
I've been told to make it scalable so we can add more servers as the need arises. How many clients should I expect to connect per server?
I've started with a single server. The client is accessing data contained in a data structure, held in memory. If I have multiple servers, what is the best and fastest way to share the data between servers on my LAN? Can I share a memory space? Should I use a database instead of memory, and share the database?
Any advice or ideas would be great.
Thanks,
Lee
Re: Multiple servers for client server application
Database would be good. If you're gonna use MySQL (which i suggest you should, it is by far the best [and free]) then you create a HEAP Table. HEAP tables are stored in the memory (RAM). Then to save this information, simply write it to a MyISAM table (default MySQL table, stored on HD).
Hope this helps. Keep the questions coming.
Re: Multiple servers for client server application
If you're going to have 250,000 clients downloading data at the same time, there's something else to consider:
Even assuming a lightning fast server farm and database, if you have a 1Mb connection to the internet, you can get a speed of approximately 1 byte every 2 seconds to each client. That's a download speed per client of about 30bps. Not too impressive. Even if you run a 10Mb connection directly to your backbone (pretty expensive), that's 300 bps. Has anyone included that into the calculations? (Downloading would take about 3 seconds/K, or 30 seconds/M, not something people will find comfortable these days, and certainly not in the future.)
Re: Multiple servers for client server application
Depends on what the clients are to be downloading. If it is just text then add a few more servers in a chain and it'll be fine (note, the servers must have an individual xDSL)
Re: Multiple servers for client server application
The data volume is similar to that of a chart room with messagess passed back and forth. (10 users per room max)
This is actually a poker client server application.