Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Does setting a weight of 0 impact the endpoint's availability or performance


Does setting a weight of 0 impact the endpoint's availability or performance


Setting a weight of 0 on an endpoint in traffic routing systems like AWS Global Accelerator or Amazon Route 53 effectively means that the endpoint will not receive traffic under normal conditions. This impacts the endpoint's availability and performance in the following detailed ways:

- Traffic Distribution and Availability:
When an endpoint's weight is set to 0, the routing system excludes it from the pool of endpoints to which traffic is normally distributed. This means the endpoint does not actively serve client requests, effectively making it unavailable for regular traffic routing. However, the endpoint is not considered completely offline or unhealthy; it is simply deprioritized for traffic routing[2][6].

- Failover Behavior:
If all endpoints with weights greater than 0 in an endpoint group become unhealthy, the system will attempt to fail over to endpoints with weight 0. For example, AWS Global Accelerator tries to find healthy endpoints with weights greater than zero in other endpoint groups first. If none are found, it then routes traffic to a healthy endpoint with weight 0 or to a random endpoint in the closest endpoint group to the client. This failover mechanism ensures availability even if endpoints with nonzero weights are unavailable, but it means endpoints with weight 0 can serve traffic during failover scenarios[1][6].

- Impact on Performance:
Since endpoints with weight 0 do not receive traffic under normal routing, they do not contribute to load balancing or performance under typical conditions. During failover, these endpoints may experience sudden traffic spikes, which could impact their performance if they are not prepared to handle the load. Also, established active connections to an endpoint with weight 0 continue until they are reset, meaning some traffic persists even if the weight is changed to 0[1].

- Use Cases for Weight 0:
Setting an endpoint’s weight to 0 is useful for scenarios such as:
- Gradually draining traffic from an endpoint before maintenance or decommissioning.
- Testing or staging environments where you want to temporarily stop sending traffic without disabling the endpoint entirely.
- Failover backup endpoints that should only receive traffic when primary endpoints are unhealthy[2][4][6].

- Health Checks and Weight 0:
Endpoints with weight 0 still participate in health checks. If all nonzero weighted endpoints are unhealthy, the system considers the health of zero-weight endpoints to determine failover routing. This means that weight 0 endpoints must be healthy to be used in failover situations[6].

In summary, setting a weight of 0 does not remove an endpoint from availability monitoring but excludes it from receiving traffic under normal conditions, impacting its active performance contribution. However, it remains available for failover, ensuring that availability is maintained at the system level, albeit with potential performance implications during failover events[1][2][6].

Citations:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.unhealthy-endpoints.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-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