我有一个 Web 服务,它正在执行许多数据库查询(对 MongoDB),然后对这些数据库查询返回的记录进行大量处理。每个 Web 请求需要运行大约 15-45 个这样的请求,这导致不可接受的页面响应时间,因为每个查询 + 处理大约需要 20 毫秒。缓存将不起作用,因为缓存未命中率很高,并且数据需要尽可能新鲜。
我曾计划使用 Scala + Akka 和 actor 来并行化执行和处理查询的类,但我知道不鼓励在 servlet 容器内创建线程。在 Scala 中的 Web 请求中进行线程/并行化的推荐方法是什么?