При использовании фьючерсов в scala поведение по умолчанию заключается в использовании контекста выполнения Implicits.global по умолчанию. Кажется, что это по умолчанию делает один поток доступным для каждого процессора. В более традиционном многопоточном веб-приложении это кажется плохим дефолтом, когда фьючерсы выполняют задачу, такую как ожидание в базе данных (в отличие от некоторой связанной задачи с процессором).
Я ожидал бы, что переопределение контекста по умолчанию будет довольно стандартным в производстве, но я могу найти так мало документации о том, как это сделать, похоже, что это может быть не так уж и просто. Я что-то пропустил?