比方说,我有5个EC2实例,它们都执行完全相同的操作(例如,应用程序服务器),而负载均衡器位于它们前面(在本例中为AWS Elastic Load Balancer)。如果我想部署一项新功能,但不确定该产品在生产中的稳定性如何,则可以将其部署到一个实例中并仔细监视它。但是,在那种情况下,该实例仍将接收流量的1/5,因此,例如,如果每秒总共有1000个请求,则每秒大约200个请求。
如何使流量不均匀分配,以使“潜在不稳定”实例每秒仅收到50个请求,而其余950个请求则分配给其他实例?答案 0 :(得分:2)
您无法使用ELB实现此目的。它仅支持循环平衡,不提供加权路由。
您可以使用Route53完成类似的操作,它确实支持加权轮询。 https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
答案 1 :(得分:1)
您可以尝试使用AWS的ALB工具,在其中您可以创建自定义规则集来基于不同的规则集来管理流量。
您可以在其中提供协议规则(HTTP / HTTPS),并将流量转移到来自特定协议的特定实例。
请参考以下网址: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html