Hmotnosti koncového bodu lze skutečně použít k provádění testování A/B pomocí Global Accelerator AWS, ale tato schopnost se vztahuje konkrétně na standardní akcelerátory, nikoli na vlastní směrovací akcelerátory.
Hmotnosti koncových bodů a testování A/B ve standardních akcelerátorech
Ve standardním akcelerátoru můžete přiřadit váhy jednotlivým koncovým bodům v rámci skupiny koncových bodů. Tyto hmotnosti určují podíl provozu směrovaného do každého koncového bodu. Úpravou závaží můžete ovládat, kolik provozu jde do každé verze vaší aplikace, což umožňuje postupné přesun provozu pro scénáře, jako je testování A/B nebo kanárské vydání.
Pokud například máte dva koncové body, můžete přiřadit hmotnosti 1 a 255, takže zhruba 1/256 provozu jde do prvního koncového bodu (např. Nová verze vaší aplikace) a 255/256 do druhé (aktuální stabilní verze). Poté můžete postupně zvyšovat hmotnost nové verze a přesunout na ni větší provoz, monitorovat výkon a uživatelský zážitek před úplným zavedením. Nastavení hmotnosti koncového bodu na 0 zastaví provoz na tento koncový bod zcela. Toto vážené rozdělení provozu je založeno na poměru hmotnosti každého koncového bodu k celkové hmotnosti ve skupině [2] [3] [4] [5].
Proč se váhy koncových bodů nepoužívají pro testování A/B v urychlovačích vlastních směrování
Naproti tomu akcelerátory na vlastní směrování fungují jinak. Zde nejsou koncové body jednotlivé instance EC2 nebo vyvažovače zatížení, ale spíše podsítě VPC obsahující instance EC2. Směrování provozu je založeno na mapování statických portů z portů posluchače akcelerátoru do cílových portů v instancích EC2 v těchto podsítkách.
Důležité je, že akcelerátory na vlastní směrování nepodporují hmotnosti koncového bodu pro distribuci provozu. Provoz je směrován deterministicky do mapované podsítě a portů bez vyrovnávání zátěže nebo vážené distribuce. Zdravotní kontroly a převzetí služeb při selhání se také neprovádějí pro akcelerátory vlastních směrování a provoz je směrován bez ohledu na zdraví koncových bodů. Tento návrh je určen pro případy použití, jako je VoIP nebo hraní her, kde potřebujete přesnou kontrolu nad tím, které instance zpracovává spojení, spíše než pravděpodobnostní rozdělení provozu [4] [7] [9].
Shrnutí
- Standardní akcelerátory podporují hmotnosti koncového bodu, což vám umožňuje provádět testování A/B kontrolou podílu provozu, který každý koncový bod obdrží.
- Urychlovače směrování vlastních směrování nepodporují váhy koncových bodů; Směrování provozu je deterministické na základě mapování portů do podsítí VPC, takže testování A/B prostřednictvím hmotností není proveditelné.
- Pro testování A/B s vlastním směrováním byste museli implementovat směrování na úrovni aplikací nebo jiné mechanismy mimo konfiguraci hmotnosti globálního akcelerátoru.
Pokud je tedy vaším cílem provádět testování A/B prostřednictvím vážení provozu, měli byste použít spíše standardní akcelerátor než vlastní akcelerátor směrování [2] [3] [4] [7].
Citace:
[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-it-works.html
[3] https://cloudchipr.com/blog/aws-global-ccelerator
[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-endpoints.html
[7] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-guidelines.html
[8] https://aws.pplaineNglish.io/unstanding-aws-global-ccelerator-and-when-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html