У меня большой игровой движок, который обслуживает клиентов мобильных телефонов и веб-сайт. БД - MSSQL2008, а движок написан на C #.
Веб-сайт построен с использованием ASP.NET MVC, а веб-сервис для мобильных телефонов также построен на ASP.NET MVC (возможно, будет перенесен на WCF или сервер с чистым сокетом).
Веб-сайт и веб-служба расположены на сервере IIS 7, а БД - на выделенном сервере. Оба подключены по локальной быстрой локальной сети.
Игра требует ответа в режиме реального времени (менее 1 секунды) для каждого пользователя. Когда я провёл некоторое нагрузочное тестирование на сервисе - казалось, что на ~ 250 пользователях он достиг 1 секунды ответа (при 50 это было около 200 мс). Он должен поддерживать более 10000 подключенных пользователей. (Я думаю, репликация сервера).
Я думал о добавлении еще одного слоя - выделенного сервера реального времени для игрового веб-сервиса. Я слышал, что Python можно использовать для создания высокопроизводительных сервисов - будет ли это умной идеей добавить этот слой? (слой должен иметь временную базу данных в памяти, чтобы обслуживать игроков в реальном времени, а затем выгружать все это во внутреннюю базу данных каждые X секунд).
Моя архитектура хороша? Как это можно улучшить?
Большое спасибо!