[英]Suggestion : Making parallel call from my service to another micro service
我有一个要求如下
我想让第二步平行。 现在我根据数据知道列表中不会出现超过 15 条记录。 所以我想为此使用 executorservice 。
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())
现在我不是很自信
ExecutorService
是我的场景的最佳方法。 或者我应该用别的东西Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())
这样的新执行Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())
还是让容器使用@Autowired
注入一个托管的 Executor由于您有一个记录List
,您可以使用parallelStream
遍历它。
List<SomeObject> objectList = resultFromDB();
objectList.parallelStream()
.map(obj -> makeApiCallInParallel(obj))
.collect(Collectors.toList());
parallelStream
将parallelStream
执行 API 调用。 并行调用的数量受 CPU 线程数量的限制。
您可以使用 JVM 属性增加它:
-Djava.util.concurrent.ForkJoinPool.common.parallelism=20
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.