我在文档中找不到任何内容,但仍在写作以确保我没有错过它。我希望来自不同客户端的所有连接对某个请求参数具有相同的值,最终都在同一个上游主机上。使用 ELB 粘性会话,您可以让相同的客户端连接到相同的主机,但不能保证跨不同的客户端。
这可以通过 Envoy 代理实现,请参阅:https : //www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers#ring-hash
我们已经使用了 ELB,因此如果 ELB 可以实现上述功能,那么我们可以避免在 Envoy 之间引入另一层。
更新:用例 - 在多租户云解决方案中,我们希望来自给定客户帐户的所有客户端都连接到同一上游主机。
不幸的是,这不可能在 ALB 中执行。
应用程序负载平衡器通过 ELB 粘性会话和基于模式的路由等功能控制主机接收流量的所有逻辑。
如果没有解决方法,那么您可以查看经典负载均衡器,它支持应用程序设置粘性会话 cookie 名称和值。
根据最佳实践,理想情况下您的应用程序应该是无状态的,是否可以考虑重新构建您的应用程序而不是尝试解决问题。我的一些建议是:
重要的是要记住,正如我上面所说的,你应该尽可能地保持你的应用程序无状态。假设您的 EC2 实例可能会失败,通过为此做好准备,可以更轻松地恢复。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句