Несколько принципов:
- Тестируйте рано, тестируйте часто.
- Успешные системы получают больше трафика
- Надежность обычно важна
- Кэширование часто является ключом к производительности
Для уточнения. Создайте простую систему прямо сейчас. Даже если бизнес-логика очень упрощена, если это веб-служба и доступ к базе данных, вы можете проверить ее производительность. Тест с одним пользователем. Что ты видишь? Куда уходит время? По мере разработки системы добавление в реальном коде продолжайте делать этот тест. Причины: а). прямо сейчас вы знаете, достижимы ли 25 мс. б). Вы немедленно обнаруживаете любые изменения кода, которые снижают производительность. Теперь протестируйте с большим количеством пользователей, какие модели деградации вы используете? Это начинает давать вам и индикации ваших возможностей Paltforms.
Я подозреваю, что результатом будет то, что одна машина не подойдет вам. И даже если это произойдет, если вы добьетесь успеха, вы получите больше трафика. Поэтому планируйте использовать более одного сервера.
В любом случае, из соображений надежности вам нужно более одного сервера. И всякие интересные детали реализации выпадают, когда вы не можете использовать один сервер, например. у вас больше нет Singletons; -)
В большинстве случаев мы получаем хорошую производительность при использовании кеша. Многие ли пользователи будут запрашивать одни и те же данные? Вы можете кешировать это? Есть ли обновления, которые стоит рассмотреть? в каком случае вам нужна система распределенного кэша с кластерным аннулированием? Это мультисерверное дело появляется снова.