Вы когда-нибудь сталкивались с чем-то настолько простым в разработке, но не задумывались о требованиях к серверу для вашего проекта? Это мой случай.
Я хочу конкурировать с игровым сайтом, у них есть многопользовательские флеш-игры, такие как покер, рамми, нарды и другие карточные игры, всего 8 игр. Для каждой игры у них есть комнаты и столы.
Я буду использовать Silverlight с сокетами. Мне уже удалось разработать сервер политики, приложение Socket Server с использованием WinForms, приложение Client Socket в Silverlight. У меня есть VPS для тестов, поэтому нет проблем в разработке того, что я хочу, проблема в Как рассчитать требования к серверу, оперативной памяти, пропускной способности, скорости интернета на основе следующих требований:
- Сервер должен поддерживать 24 000 пользователей / день или 1000 пользователей / час
- В каждой игровой комнате должны быть свои столы, за которыми могут играть пользователи
- Пользователи не должны терять оценки, а скорость игры в целом должна быть быстрой
Мне просто интересно, как справиться со следующей ситуацией: если 1000 пользователей подключены через сокет-соединение к комнате, полной таблиц, и один пользователь покидает стол, все 1000 пользователей должны быть обновлены, и пользовательский интерфейс должен отражать изменения. Скажем, я обновлю клиентов, отправив маленькое сообщение размером 100 байт каждому пользователю, оно будет съедать 100 байт * 1000 пользователей = 100 КБ, и это только для 1 изменения пользовательского интерфейса, для 1 игры и для 1 комнаты, а не считая все мои другие игры и комнаты. Кроме того, 1000 итераций, которые отправляют байты клиентам, должны занимать очень много времени.
Я разработчик, но в таких ситуациях не имел опыта. Пожалуйста посоветуй. Номера будут отличными.