envoy 可以自定义负载均衡策略吗?

30 天前
 ducuducu

我现在有个比较复杂的负载均衡需求:
1 、一个服务部署了多个泳道(或者说是多个 group 吧),然后请求头里有个泳道 header ,希望根据泳道 header 调相同泳道的服务,若该泳道内无服务实例,则 default 到主干泳道
2 、相同泳道的服务内,希望优先调当前所在可用区的实例
原始的需求就是这样的,不知道用 envoy 如何实现

657 次点击
所在节点    程序员
2 条回复
zizon
29 天前
刚看了下现在支持 lua 动态分发了.
https://www.envoyproxy.io/docs/envoy/latest/configuration/http/cluster_specifier/lua

配对应的 cluster upstream 和 endpoint 应该就行了吧.
MelodYi
29 天前
envoy 有好几个零碎功能,但是没测过组合使用,算是给几个关键字,信息检索和尝试只能自助了。
1 、这个在 envoy 有个叫 subset 的功能,路由规则设置 header 匹配
"无实例降级到 default",据我所知 envoy 开源没有。阿里那个 Higress 改 Envoy 源码加了一个这个功能,可以到 higress 的仓库检索下 HTTPRouteDestination 里面的 fallbackClusters 。

2 、同可用区优先可以参考
https://istio.io/latest/zh/docs/tasks/traffic-management/locality-load-balancing/failover/
https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/priority.html

op 这个诉求很复杂,直接折腾插件也是个思路。
op 是哪家云商吗?感觉就国内几个云商在那折腾 envoy ,提泳道啥的(感觉就是这些云商创的词汇,别地没见过)

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

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

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

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

© 2021 V2EX