coderstory
V2EX  ›  Java

spring cloud alibaba 全家桶中 如何实现 请求量小,但每个请求任务都很重的负载均衡?

  •  
  •   coderstory ·
    coderstory · Jun 20, 2023 · 3009 views
    This topic created in 1233 days ago, the information mentioned may be changed or developed.

    现在有一套 alibaba cloud 全家桶的项目,基于 nacos 和 spring cloud loadbance 的。

    目前观察到一个现象,某个服务存在 2 个实例,大部分请求都跑到了某个实例,且这个实例负载较高。 另外一个实例基本都在摸鱼。

    从业务上讲,这个服务的调用并不频繁,但每次调用都需要花费一定的 cpu 内存和时间 去处理。

    我感觉是调用频次太低导致默认的均衡规则没啥用,导致请求都转发到 服务实例列表中的第一个实例了。

    6 replies  •  2023-06-20 14:28:51 +08:00
    lsk569937453
    lsk569937453
    Jun 20, 2023
    1
    那就把负载均衡调整为随机啊
    hhjswf
    hhjswf
    Jun 20, 2023
    2
    轮循呗,有可能你没配置对
    imv2er
    imv2er
    Jun 20, 2023
    3
    同步的提高响应时间的权重
    异步的。。。比较麻烦 可以用点投机取巧的办法
    xuanbg
    xuanbg
    Jun 20, 2023
    4
    我都是无脑平均分配
    seasonsolt
    seasonsolt
    Jun 20, 2023❤️1
    5
    感觉你不需要 loadblance ,你需要 map-reduce ,以导出 100W 数据为例,那么按照实例数量 2 拆分成 2 个 50W 的任务并行处理,最后在文件层面 merge 成一个。
    Pil0tXia
    Pil0tXia
    Jun 20, 2023
    6
    感觉楼上的就是最好的解决方案了,但是从内存层面讲,一次性合并 4 个 25W 的文件对内存来说也不轻松,不过没有 JVM 里的对象了,可以少一半的内存占用(有没有一半也不知道)。如果内存还不够,可能得分批合并,然后在合并的时候把其它内存负载转移到别的 pod 上去。

    还有优化的办法吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4633 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 09:38 · PVG 17:38 · LAX 01:38 · JFK 04:38
    ♥ Do have faith in what you're doing.