[负载均衡算法] 求教根据源地址的负载均衡算法该如何实现呢

2023-11-27 15:37:59 +08:00
 Charlie17Li

需求

根据每个客户端源地址单独定义每个服务端的权重,请看下图:

例如有两个客户端,三个服务端;负载均衡器可以根据每个客户端执行执行不同的带权负载均衡

(这里权重是根据其他模块计算出来的,算是预先定义好的)

疑问

原问题是在 k8s 场景下出现的,如果能基于 iptables 或者 ipvs 实现就最好了,其他的负载均衡器不是很了解能不能实现,以及实现了该算法能不能适配 k8s

1092 次点击
所在节点    Linux
4 条回复
wheat0r
2023-11-27 16:14:37 +08:00
我知道 F5 的 iRule 可以实现,nginx 可以用 geo 做。
所以 iptables 必然可以,估计也是策略路由的一种
artnowben
2023-11-27 16:20:15 +08:00
常见的方法是:
1. 源地址哈希负载均衡算法
2. 源地址回话保持

很多负载均衡器都支持,可以看看 DPVS
推荐用 dperf https://dperf.org/ 去测试一下四层负载均衡器的性能
Charlie17Li
2023-11-27 17:11:12 +08:00
@wheat0r 感谢,iptables 我调研下来应该是可以的,准备作为一个方案。
Charlie17Li
2023-11-27 17:11:35 +08:00
@artnowben 感谢,这就去看看 DPVS

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

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

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

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

© 2021 V2EX