Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 设定重量0会影响端点的可用性或性能


设定重量0会影响端点的可用性或性能


在AWS Global Accelerator或Amazon Route 53等流量路由系统中的端点上设置重量为0,这意味着在正常条件下端点不会接收流量。这会以以下详细方式影响端点的可用性和性能:

- 交通分布和可用性:
当端点的重量设置为0时,路由系统将其从正态分布的端点池中排除在外。这意味着端点不能积极地服务客户请求,从而有效地使其无法进行常规的流量路由。但是,端点不是完全离线或不健康的。它简单地用于流量路由[2] [6]。

- 故障转移行为:
如果在端点组中的所有端点大于0的所有端点都变得不健康,则该系统将试图失败的端点0。如果找不到,则将流量路由到具有重量0的健康端点,或者在距离客户端最接近的端点组中的随机端点。即使没有非零权重的端点不可用,此故障转移机制也可以确保可用性,但这意味着重量0的端点在故障转移方案中可以服务流量[1] [6]。

- 对性能的影响:
由于重量为0的端点在正常路由下未接收流量,因此在典型条件下,它们不会有助于负载平衡或性能。在故障转移期间,这些端点可能会遇到突然的交通尖峰,如果他们不准备处理负载,这可能会影响其性能。同样,建立了与重量0的端点的主动连接继续进行直到重置为止,这意味着即使重量更改为0 [1],也会存在一些流量。

- 重量的用例0:
将端点的重量设置为0对于以下方案很有用:
- 在维护或退役之前,逐渐从端点流动流量。
- 测试或分阶段环境,您想暂时停止发送流量而不完全禁用端点。
- 故障转移备份端点仅在主要端点不健康时才能接收流量[2] [4] [6]。

- 健康检查和体重0:
重量0的终点仍参与健康检查。如果所有非零加权端点都是不健康的,则系统将考虑零重量端点的健康以确定故障转移路由。这意味着重量0端点必须健康才能在故障转移情况下使用[6]。

总而言之,设置0不会从可用性监视中删除端点,而是将其排除在正常条件下接收流量,从而影响其主动绩效贡献。但是,它仍然可用于故障转移,以确保在系统级别保持可用性,尽管在故障转移事件中具有潜在的性能影响[1] [2] [6]。

引用:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoints-endpoint-weights.unhealthy-endhealthy-endpoints.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoints-endpoint-weights.html
[3] https://pmc.ncbi.nlm.nih.gov/articles/pmc4275445/
[4] https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
[5] https://www.mdpi.com/2079-9292/12/8/1906
[6] https://docs.aws.amazon.com/route53/latest/developerguide/Routing-policy-weighted.html
[7] https://oacu.oir.nih.gov/system/files/media/file/2022-04/b13_endpoints_guidelines.pdf
[8] https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-monitoring