2

我们有一个 Spark 框架支持的简单 Java REST API。

我们已经初始化了线程,如http://sparkjava.com/documentation#embedded-web-server中所示,通过从我们应用程序的 Java 主方法调用的以下块:

int maxThreads = 8;
int minThreads = 2;
int timeOutMillis = 30000;
threadPool(maxThreads, minThreads, timeOutMillis);

但是,我们对同时请求进行了一些模拟,结果是线程被创建但排队以顺序发出 HTTP 请求,尽管我们认为这些请求将是并发的。

这正常吗?Spark 框架是否通常的行为是避免服务器处理配置数量的线程但让它们在队列中等待以有效地执行 HTTP 请求?

4

1 回答 1

0

我一直在研究这个问题,我现在知道的是,这是专门针对 Spark Java 等小型 Web 框架进行处理的常用方法。

背后的原因是调节服务器中的流量以避免节流。

于 2018-02-06T09:59:39.700 回答