Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法维护到restful web服务的连接?_Java_Performance_Web_Connection_Microservices - Fatal编程技术网

Java 有没有办法维护到restful web服务的连接?

Java 有没有办法维护到restful web服务的连接?,java,performance,web,connection,microservices,Java,Performance,Web,Connection,Microservices,我正在开发一个应用程序,它是一个整体。我们的路线图中有一些功能,我认为这些功能适合于微服务体系结构,我正在尝试这样构建它们 我的问题是:应用程序在峰值时间每秒处理约150个请求。这些请求来自原始TCP/IP连接,这些连接始终保持活动状态。我们有非常严格的延迟要求(大多数请求在25-50毫秒内得到响应)。每个请求需要消耗1到多个微服务。我担心的是,使用多个restful web服务(特别是在每次使用服务时创建/破坏连接以及TLS握手)将导致处理这些请求的延迟过大 我的问题:当多个线程使用restf

我正在开发一个应用程序,它是一个整体。我们的路线图中有一些功能,我认为这些功能适合于微服务体系结构,我正在尝试这样构建它们

我的问题是:应用程序在峰值时间每秒处理约150个请求。这些请求来自原始TCP/IP连接,这些连接始终保持活动状态。我们有非常严格的延迟要求(大多数请求在25-50毫秒内得到响应)。每个请求需要消耗1到多个微服务。我担心的是,使用多个restful web服务(特别是在每次使用服务时创建/破坏连接以及TLS握手)将导致处理这些请求的延迟过大


我的问题:当多个线程使用restful web服务时,是否可能(并且是否有最佳实践)维护与该web服务的连接状态?使用web服务的每个请求都是自包含的,但我们只需保持物理连接的活动状态。

JVM自然地为
HttpURLConnection
(via)共享HTTP连接。因此,JAX-WS和JAX-RS应该是开箱即用的。通常,其他非基于HttpURLConnection的框架(如netty)也支持http连接池。因此,很可能您不需要在代码中自己担心这一点。您需要计算需要共用多少个连接,但这是一种配置


您可以通过
tcpdump
Wireshark
嗅探来自您的应用程序的流量,并在获得结果后检查是否没有发生TCP FIN,从而检查TCP连接在收到HTTP响应后是否关闭。

假设您使用HTTP作为传输协议,如果客户端和服务器都支持HTTP2,您可能会得到想要的。