amazon-web-services - AWS ALB - URL 中的相同字符串应该转到相同的 EC2 实例
问题描述
我想实现自定义负载平衡。我的要求如下。我有 URL 模式的应用程序,例如
dns-name.com/conference1/abc......
dns-name.com/conference2/xyz......
dns-name.com/conference1/abc......
dns-name.com/conference3/pqr......
我希望来自不同 IP/浏览器的所有用户都带有 URL 会议 1 应该转到 ALB 下的同一个实例,直到它启动并运行。
Conference1 字符串不是固定的,我们通过应用程序动态地获取它,因此基于路径的路由没有帮助。
由于用户不同,具有粘性会话的 AWS ALB 也无济于事。
有什么解决办法吗?
解决方案
没有内置功能可以做到这一点。
一种选择是稍微更改 URL。代替:
dns-name.com/conference1/abc...
利用:
conference1.dns-name.com/abc...
这将允许您在 DNS 级别引导流量,因此到该 URL 的所有流量都将转到一个 IP 地址。当然,您需要在任何流量使用该 DNS 子域之前对其进行定义。
当然,这在很大程度上消除了对 Load Balancer 的需求,因为您实际上并不想以传统方式平衡任何流量。
但是,最好的建议可能是重新考虑您的应用程序架构,以消除将此类流量定向到特定服务器的需要。如果实例发生故障,此要求使系统更容易发生故障。在流量高峰的情况下横向扩展也更加困难(因为所有conference1
流量只流向一个实例),也不容易通过横向扩展来降低成本。
推荐阅读
- python - 如何在python openCV中裁剪框周围的图像?
- asp.net - 在 ASP.Net/Core MVC 中禁用 *ALL* 自动 HTML 转义
- java - 无法以编程方式为 Android Oreo 上的通知通道更新声音
- groovy - 如何在 Groovy 脚本中查找在 yaml 文件中定义的映射并分配给从 Pipeline UI 提供的基于变量的输入
- node.js - 无法连接到 gcp 上的 kafka 主机
- excel - 如何对一系列单元格求和直到单元格颜色,然后在单元格颜色之后继续 VBA 中的其余范围?
- swift - 如何在不命名每个图像的情况下显示文件夹中的所有图像?
- webpack - 任何 Webpack splitchunks.name 作为网站以外的功能文档?
- linux - 只获取 grep 的第一部分:get ip of ifconfig
- react-native - 在 React Native 中计算两个日期之间的差异