我有一种情况,我想对数据存储区进行 1000 个不同的查询,对每个单独查询的结果进行一些计算(以获得 1000 个单独的结果),然后返回结果列表。
我希望将结果列表作为开始计算的相同 30 秒用户请求的响应返回,以获得更好的客户端性能。哈!
我有一个大胆的计划。
这些操作中的每一个通常在一秒钟内完成都没有问题,它们都不需要像任何其他操作一样写入相同的实体组,并且它们都不需要来自任何其他查询的任何信息。是否有可能启动 1000 个独立任务,每个任务都处理其中一个查询,进行计算,并将结果存储在某种临时实体集合中?原始请求可能会等待 10 秒,然后对数据存储中的结果进行一次查询(也许它们都设置了一个我可以查询的唯一值)。任何尚未出现的结果都会在客户端被注意到,并且客户端可以在另外十秒钟内再次请求这些值。
我希望有经验的应用工程师能回答的问题是:
- 这很荒谬吗?如果是这样,对于任何数量的任务来说都是可笑的吗?一次50是否合理?
- 如果我每秒读取同一个实体 20 次,我不会遇到数据存储争用,对吗?那些争论的东西都是为了写?
- 有没有更简单的方法来从任务中获得响应?