Я планирую систему, которая должна возвращать сохраненный результат очень быстро.
Каждый пользовательский запрос на отдых генерирует вычисление, вычисление должно извлекать информацию из десяти различных запросов к базе данных.
Чтобы повысить производительность, я думал о том, чтобы не получать результаты запросов напрямую с dbClient в рабочем потоке, вместо этого использовать пул потоков, который будет содержать выделенное количество потоков, которые будут отвечать за запрос к базе данных.
Потоки поделятся результатом с рабочим потоком через blockingQueue.
Таким образом, я планирую сохранить время ожидания сети между запрошенными БД (поток заблокирован, пока не получит данные из БД).
Это звучит разумно?
Я еще не решил, с какой БД идти, я думаю использовать Aerospike