Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 可以在自定义路由加速器中使用端点权重进行A/B测试


可以在自定义路由加速器中使用端点权重进行A/B测试


端点权重确实可以用于使用AWS全局加速器进行A/B测试,但是此功能专门用于标准加速器,而不是自定义路由加速器。

###标准加速器中的端点重量和A/B测试

在标准加速器中,您可以将权重分配给端点组中的单个端点。这些权重决定了路由到每个端点的流量的比例。通过调整权重,您可以控制应用程序的每个版本的流量数量,从而逐渐转移A/B测试或金丝雀发行的方案。

例如,如果您有两个端点,则可以为1和255分配权重,因此大约1/256的流量转到第一个端点(例如,应用程序的新版本)和255/256,将其分配给第二个端点(当前稳定版本)。然后,您可以逐渐增加新版本的重量,以将更多的流量转移到它,并在全面推出之前监视性能和用户体验。将端点的重量设置为0将流量完全停止到该端点。此加权流量分布基于每个端点的重量与组总重量的比率[2] [3] [4] [5]。

###为什么在自定义路由加速器中未使用端点重量进行A/B测试

相反,自定义路由加速器的工作方式不同。在这里,端点不是单个EC2实例或负载平衡器,而是包含EC2实例的VPC子网。流量路由基于从加速器的侦听器端口到这些子网内EC2实例的目标端口的静态端口映射。

重要的是,自定义路由加速器不支持用于流量分布的端点权重。流量确定性地路由到映射的子网和端口,而无需负载平衡或加权分布。此外,对于自定义路由加速器,并未执行健康检查和故障转移,并且无论端点健康如何,流量都被路由。该设计旨在用于VoIP或Gaming(例如VoIP或Gaming)的用例,您需要对实例处理连接而不是概率的流量分布进行精确控制[4] [7] [9]。

### 概括

- 标准加速器支持端点权重,使您可以通过控制每个端点接收的流量的份额来执行A/B测试。
- 自定义路由加速器不支持端点权重;流量路由是基于端口映射到VPC子网的确定性,通过权重进行A/B测试。
- 对于使用自定义路由的A/B测试,您需要在全球加速器的重量配置之外实现应用程序级路由或其他机制。

因此,如果您的目标是通过流量加权进行A/B测试,则应使用标准加速器而不是自定义路由加速器[2] [3] [4] [7]。

引用:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoints-endpoint-weights.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[3] https://cloudchipr.com/blog/aws-global-accelerator
[4] https://www.alibabacloud.com/help/en/ga/user-guide/overview-4/
[5] https://www.nops.io/glossary/what-is-aws-global-accelerator/
[6] https://awscli.amazonaws.com/v2/documentation/api/latest/reference/globalaccelerator/add-endd-endpoints.html
[7] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-guidelines.html
[8] https://aws.plainenglish.io/understanding-aws-global-accelerator-and-when to-use-use-it-it-799c2bc4440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html