gpt4 book ai didi

spring - 性能调优 Spring RestTemplate

转载 作者:行者123 更新时间:2023-12-04 17:21:39 24 4
gpt4 key购买 nike

背景:我正在使用带有嵌入式码头的 spring boot。我的应用程序调用了一堆 rest api。为了调用这些 rest api,我使用了 spring rest 模板。问:Spring rest template 高并发有什么用?在网络搜索上搜索建议转向响应式(Reactive),但仍然有一些应用程序以阻塞方式编写,需要继续这种方式。问题是有什么替代方法或者可以做些什么来使 rest 模板在重负载下更具响应性。 PoolingHttpClientConnectionManager 做了一些改进,但本质上仍然没有达到要求。

有人建议转移到 rest easy 和其他 http 客户端,但背后没有任何可推延的推理。归根结底,他们都建立了连接池,并且工作原理基本相同。请注意,响应式(Reactive)还不是一个选项。这个问题非常针对传统的阻塞休息电话。任何关于优化连接池或正确使用 rest 模板的建议都会有很大帮助。

最佳答案

RestTemplate 本身并不执行实际的 rest 调用,它只是一个“包装器”——一个方便的 API。

现在谈到连接池时,默认情况下它不使用任何类型的池,只是打开 Java 中可用的 URL 连接。不需要第三方,但性能不是很好。

您可以配置 rest 模板以在后台使用 OkHttp 客户端。 See here以不同的方式与不同的客户合作。有趣的是,它可以在那里配置连接池并获得更好的性能。

因此,您应该真正检查预期的性能并相应地配置连接池。

现在关于 Reactive 的另一件事 - 它不会给你带来性能提升,但它可以通过更有效地重用资源来更好地服务于多个并发请求。但是,如果您要测量执行一个请求需要多长时间 - 预计执行速度不会更快。

换句话说,如果应用程序有太多无法处理的并发请求,您应该考虑过渡到响应式(Reactive)堆栈,但如果您想更快地处理每个请求,则不要考虑。

关于spring - 性能调优 Spring RestTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58994883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com