Greutățile endpoint pot fi utilizate într -adevăr pentru a efectua teste A/B cu accelerator global AWS, dar această capacitate se aplică în mod specific acceleratoarelor standard, nu acceleratoarelor de rutare personalizate.
Greutăți Endpoint și testare A/B în acceleratoare standard
Într -un accelerator standard, puteți atribui greutăți punctelor finale individuale într -un grup final. Aceste greutăți determină proporția de trafic dirijată către fiecare punct final. Prin ajustarea greutăților, puteți controla cât de mult trafic se duce la fiecare versiune a aplicației dvs., permițând schimbarea treptată a traficului pentru scenarii precum testarea A/B sau versiunile canare.
De exemplu, dacă aveți două puncte finale, puteți atribui greutăți de 1 și 255, astfel încât aproximativ 1/256 din trafic merge la primul punct final (de exemplu, o nouă versiune a aplicației dvs.) și 255/256 la al doilea (versiunea stabilă curentă). Puteți crește treptat greutatea noii versiuni pentru a schimba mai mult trafic către acesta, monitorizarea performanței și experiența utilizatorului înainte de lansarea completă. Setarea greutății unui punct final la 0 oprește traficul la acel punct final în întregime. Această distribuție ponderată a traficului se bazează pe raportul dintre greutatea fiecărui punct și greutatea totală din grupul [2] [3] [4] [5].
De ce greutățile Endpoint nu sunt utilizate pentru testarea A/B în acceleratoare de rutare personalizate
În schimb, acceleratoarele de rutare personalizate funcționează diferit. Aici, punctele finale nu sunt instanțe individuale EC2 sau echilibre de încărcare, ci mai degrabă subrețele VPC care conțin instanțe EC2. Traficul de trafic se bazează pe mapări de porturi statice din porturile ascultătorului acceleratorului către porturile de destinație din instanțele EC2 din aceste subrețele.
Important de important, acceleratoarele de rutare personalizate nu acceptă greutăți endpoint pentru distribuția traficului. Traficul este dirijat determinist către subrețea și porturile mapate fără echilibrare a sarcinii sau distribuție ponderată. De asemenea, controalele de sănătate și failover -ul nu sunt efectuate pentru acceleratoare de rutare personalizate, iar traficul este dirijat indiferent de sănătatea punctului final. Acest design este destinat cazurilor de utilizare precum VoIP sau jocuri, unde aveți nevoie de un control precis asupra instanței gestionează o conexiune, mai degrabă decât o distribuție probabilistică a traficului [4] [7] [9].
Rezumat
- Acceleratoarele standard acceptă greutățile finale, permițându -vă să efectuați teste A/B prin controlul cotei de trafic pe care îl primește fiecare punct final.
- Acceleratoarele de rutare personalizate nu acceptă greutăți Endpoint; Rotarea traficului este deterministă pe baza mapării portului către subrețele VPC, ceea ce face ca testarea A/B să nu fie posibilă.
- Pentru testarea A/B cu rutare personalizată, ar trebui să implementați rutarea la nivel de aplicație sau alte mecanisme în afara configurației de greutate a acceleratorului global.
Prin urmare, dacă obiectivul dvs. este să efectuați teste A/B prin ponderarea traficului, ar trebui să utilizați un accelerator standard, mai degrabă decât un accelerator de rutare personalizat [2] [3] [4] [7].
Citări:
[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-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-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html