Os pesos do terminal podem realmente ser usados para realizar testes A/B com o AWS Global Acelerator, mas esse recurso se aplica especificamente aos aceleradores padrão, não a aceleradores de roteamento personalizados.
Pesos do terminal e testes A/B em aceleradores padrão
Em um acelerador padrão, você pode atribuir pesos a pontos de extremidade individuais em um grupo de terminais. Esses pesos determinam a proporção de tráfego roteado para cada ponto de extremidade. Ao ajustar os pesos, você pode controlar quanto tráfego vai para cada versão do seu aplicativo, permitindo a mudança gradual de tráfego para cenários como testes A/B ou lançamentos de canários.
Por exemplo, se você tiver dois pontos de extremidade, poderá atribuir pesos de 1 e 255, portanto, aproximadamente 1/256 do tráfego vai para o primeiro terminal (por exemplo, uma nova versão do seu aplicativo) e 255/256 para a segunda (a versão estável atual). Você pode aumentar gradualmente o peso da nova versão para mudar mais tráfego para ela, monitorando o desempenho e a experiência do usuário antes do lançamento completo. Definir o peso de um endpoint para 0 interrompe o tráfego para esse ponto de extremidade completamente. Essa distribuição de tráfego ponderada é baseada na proporção do peso de cada ponto final e o peso total no grupo [2] [3] [4] [5].
Por que os pesos do terminal não são usados para testes A/B em aceleradores de roteamento personalizado
Por outro lado, os aceleradores de roteamento personalizados funcionam de maneira diferente. Aqui, os pontos de extremidade não são instâncias individuais do EC2 ou balanceadores de carga, mas sim sub -redes VPC contendo instâncias do EC2. O roteamento de tráfego é baseado em mapeamentos de porta estáticos das portas do ouvinte do acelerador para as portas de destino nas instâncias do EC2 nessas sub -redes.
É importante ressaltar que os aceleradores de roteamento personalizados não suportam pesos do terminal para distribuição de tráfego. O tráfego é roteado deterministicamente para a sub -rede e portas mapeadas sem balanceamento de carga ou distribuição ponderada. Além disso, as verificações de saúde e o failover não são realizados para aceleradores de roteamento personalizados, e o tráfego é roteado, independentemente da saúde do endpoint. Esse design é destinado a casos de uso como VoIP ou jogos, onde você precisa de controle preciso sobre qual instância lida com uma conexão, em vez de distribuição probabilística do tráfego [4] [7] [9].
Resumo
- Os aceleradores padrão suportam pesos do ponto de extremidade, permitindo que você realize testes A/B controlando a parcela do tráfego que cada ponto de extremidade recebe.
- Os aceleradores de roteamento personalizados não suportam pesos do ponto de extremidade; O roteamento de tráfego é determinístico com base em mapeamentos de porta para sub -redes VPC, tornando o teste A/B por meio de pesos não viáveis.
- Para testes A/B com roteamento personalizado, você precisaria implementar o roteamento no nível do aplicativo ou outros mecanismos fora da configuração de peso do acelerador global.
Portanto, se seu objetivo é realizar testes A/B através da ponderação do tráfego, você deve usar um acelerador padrão em vez de um acelerador de roteamento personalizado [2] [3] [4] [7].
Citações:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-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-endpons.html
[7] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-ruting-guidelines.html
[8] https://aws.plainenglish.io/understanding-aws-global-cellerator-and-when-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html