Честно говоря, почти невозможно сказать. Вероятно, есть около 3 способов (изо всех сил, чтобы построить такую систему), и каждый из них будет иметь довольно разные характеристики производительности. Лучше всего строить и тестировать.
Во-первых, попытайтесь получить представление о том, какие предполагаемые объемы у вас будут, а также о задержках, которым вы должны соответствовать.
Придумайте базовую архитектуру и внедрите тонкий срез в конец системы (в идеале - наиболее распространенный вариант использования). Используйте инструмент для нагрузочного тестирования, например ( Grinder или Apache JMeter ), чтобы ввести нагрузку и начать измерение производительности. Если производительность приемлема - будьте осторожны, ваша простая реализация, скорее всего, будет включать меньше функций и будет быстрее, чем полная система, - продолжайте сборку системы и тестирование, чтобы убедиться, что вы не представите серьезное узкое место в производительности. Если нет, придумайте другой дизайн.
Если ваш код разумный, узким местом, скорее всего, будет база данных и где-то в районе 100 дБ операций в секунду. Если этого недостаточно, возможно, вам следует подумать о кэшировании.