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

2023-06-20 10:51:45 +08:00
 coderstory

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

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

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

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

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

还有优化的办法吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/950237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX