我们有一个系统给出一批请求,对外部第三方API进行相同数量的调用.鉴于这是一个I/O绑定任务,我们目前使用大小为20的缓存线程池来为这些请求提供服务.除此之外,解决方案是:
使用具有更多内核的更少机器(更少上下文切换,能够支持更多并发线程)
要么
利用商品/廉价硬件(披萨盒)使用更多机器
我们每天收到的请求数量大约为数百万.
我们使用的是Java,因此这里的线程是内核,而不是"绿色".
其他要点/想法:
java api scaling multithreading
api ×1
java ×1
multithreading ×1
scaling ×1