Трудно (читай «Невозможно») судить об архитектуре без требований.Поэтому я просто сделаю некоторые выводы:
Максимальная пропускная способность: не используйте базу данных, пишите в плоский файл, возможно, хранящийся на чем-то быстром, например, на твердотельном диске.пользователь получает ответ, не состоящий из ошибки, данные должны храниться надежно): сделайте все это однопоточным, сохраните все в базе данных с избыточными дисками.Убедитесь, что у вас есть компетентный администратор базы данных, который знает о резервном копировании и восстановлении.Проверяйте их через регулярные промежутки времени.
Минимальное время для завершения пользовательского запроса: Ваш подход кажется разумным.
Минимальное время для завершения пользовательского запроса + Максимизация пропускной способности + Хорошее постоянство (что бы это ни значило): Ваш подход кажется хорошим.Вы можете планировать несколько потоков, обрабатывающих запросы к БД.Но проверьте, какую (более) пропускную способность вы фактически получаете и где именно находится узкое место (сеть, ЦП БД, ввод-вывод, конфликт блокировок ...).Убедитесь, что вы не вносите ошибки, используя параллельный подход.