gpt4 book ai didi

java - java springboot微服务中如何高效处理碎片请求?

转载 作者:行者123 更新时间:2023-12-02 04:26:19 25 4
gpt4 key购买 nike

我正在为其中一个客户开发 springboot 微服务......

客户端请求正文包含{Group : A, SomeProp: ABC}

从服务器端: 在服务器中,每个组都有映射。例如:A 组为 1、2、3、4,B 组为 3、4、5、6、7、8 等。现在服务器应该像这样分割请求

-> 1、ABC

-> 2、ABC

-> 3、ABC等等....现在,所有分段请求都应该并行处理,并通过 acqtivemq 发送响应。重点是,1个请求在服务器端会被分片成多个请求,并且需要异步处理它们。目前,我正在使用线程池来管理它。令人痛苦的是,在重负载/请求数量增多时,延迟时间会变得非常长,而且进程使用率也会逐渐增加。

如何在 springboot 微服务中有效地处理这个用例?

最佳答案

对于这样的事情,我认为根据自己的喜好配置 Spring Boot 而不是依赖默认值很重要。

  1. 您应该配置server.tomcat.max-threads,使其符合您的喜好。如果我没记错的话,默认值为 200,最大值为 10000
  2. 您应该像您在 completableFutures 中提到的那样保留 ExecutorPool 并正确配置池的大小。
  3. 可能会增加 JVM 堆大小。
  4. 相应地水平扩展您的应用。 (这会有很大帮助)

从 Spring Boot 的角度来看,这些实际上是您唯一可以控制的 4 件事。

关于java - java springboot微服务中如何高效处理碎片请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56607007/

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