Endepunktvekter kan faktisk brukes til å utføre A/B -testing med AWS Global Accelerator, men denne muligheten gjelder spesifikt for standard akseleratorer, ikke for å tilpasset rutingakseleratorer.
Endpunktvekter og A/B -testing i standardakseleratorer
I en standard akselerator kan du tilordne vekter til individuelle endepunkter i en endepunktgruppe. Disse vektene bestemmer andelen trafikk som er dirigert til hvert endepunkt. Ved å justere vektene, kan du kontrollere hvor mye trafikk som går til hver versjon av applikasjonen din, slik at gradvis trafikkskifting for scenarier som A/B -testing eller kanariutgivelser.
Hvis du for eksempel har to endepunkter, kan du tilordne vekter på 1 og 255, så omtrent 1/256 av trafikken går til det første endepunktet (f.eks. En ny versjon av appen din) og 255/256 til den andre (den nåværende stabile versjonen). Du kan deretter gradvis øke vekten på den nye versjonen for å flytte mer trafikk til den, overvåke ytelsen og brukeropplevelsen før full utrulling. Å sette et sluttpunktets vekt til 0 stopper trafikken helt til det endepunktet. Denne vektede trafikkfordelingen er basert på forholdet mellom hvert sluttpunktets vekt og totalvekten i gruppen [2] [3] [4] [5].
Hvorfor brukes ikke endepunktvekter til A/B -testing i tilpassede rutingakseleratorer
Derimot fungerer tilpassede rutingakseleratorer annerledes. Her er ikke endepunkter ikke individuelle EC2 -forekomster eller belastningsbalanser, men snarere VPC -undernett som inneholder EC2 -forekomster. Trafikkruting er basert på statiske portkartlegginger fra gassporter til destinasjonsporter på EC2 -forekomster i disse undernettene.
Det er viktig at tilpassede rutingakseleratorer ikke støtter endepunktvekter for trafikkfordeling. Trafikk føres deterministisk til den kartlagte undernettet og portene uten belastningsbalansering eller vektet distribusjon. Helsekontroller og failover utføres heller ikke for tilpassede rutingakseleratorer, og trafikken blir dirigert uavhengig av endepunkthelse. Denne utformingen er beregnet på brukssaker som VoIP eller spill, hvor du trenger presis kontroll over hvilken forekomst som håndterer en tilkobling, snarere enn probabilistisk trafikkfordeling [4] [7] [9].
Sammendrag
- Standard akseleratorer støtter endepunktvekter, slik at du kan utføre A/B -testing ved å kontrollere andelen av trafikken hvert endepunkt mottar.
- Tilpassede rutingakseleratorer støtter ikke endepunktvekter; Trafikkruting er deterministisk basert på portkartlegginger til VPC -undernett, noe som gjør A/B -testing via vekter ikke mulig.
- For A/B-testing med tilpasset ruting, må du implementere ruting på applikasjonsnivå eller andre mekanismer utenfor Global Accelerators vektkonfigurasjon.
Derfor, hvis målet ditt er å gjennomføre A/B -testing gjennom trafikkvekting, bør du bruke en standard gasspedal i stedet for en tilpasset rutingsakselerator [2] [3] [4] [7].
Sitasjoner:
[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-itworks.html
[3] https://cloudchipr.com/blog/aws-global-accelerator
[4] https://www.alibabacloud.com/help/no/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.plainengglish.io/understanding-aws-global-accelerator-and-wnwhen-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html