我正在从 AWS ECS 运行微服务应用程序。每个微服务目前都有自己的负载均衡器。
有一个主要的面向公众的服务,其余服务通过网关与之通信。让每个服务都有自己的 ELB 目前太昂贵了,有没有办法让面向公众的服务只有 1 个 ELB,它将路由到基于路径的其他服务。在 URL 中实际上没有其他服务名称的情况下,这是否可能。反向代理可以工作吗?
我知道这是一个广泛的问题,但任何帮助将不胜感激
答案 0 :(得分:1)
在您的 EC2 面板中,转到 loadbalancers
部分,选择一个负载均衡器,然后在 listeners
选项卡中,有一个名为 view/edit rules
的按钮,您可以在其中设置使用单个负载均衡器的条件应用程序的不同集群/实例。请注意,您需要为每个容器定义一个 target group
。
您可以将负载均衡器配置为基于以下路由:
Http Headers
Path
即:www.example.com/a 或 www.example.com/bHost Header(hostname)
Query strings
source Ip
。就是这样!干杯。