Endpunktgewichte können in der Tat zur Durchführung von A/B -Tests mit AWS Global Accelerator verwendet werden. Diese Fähigkeit gilt jedoch speziell für Standardbeschleuniger, nicht für benutzerdefinierte Routing -Beschleuniger.
Endpunktgewichte und A/B -Tests in Standardbeschleunigern
In einem Standardbeschleuniger können Sie einzelnen Endpunkten innerhalb einer Endpunktgruppe Gewichte zuweisen. Diese Gewichte bestimmen den Anteil des Verkehrs, der an jeden Endpunkt weitergeleitet wird. Durch das Anpassen der Gewichte können Sie steuern, wie viel Datenverkehr zu jeder Version Ihrer Anwendung übergeht, und ermöglicht ein allmähliches Verschiebung für Szenarien wie A/B -Tests oder Kanarienveröffentlichungen.
Wenn Sie beispielsweise zwei Endpunkte haben, können Sie Gewichte von 1 und 255 zuweisen, so dass ungefähr 1/256 des Datenverkehrs zum ersten Endpunkt (z. B. eine neue Version Ihrer App) und 255/256 zum zweiten (der aktuellen stabilen Version) geht. Sie können dann nach und nach das Gewicht der neuen Version erhöhen, um mehr Verkehr auf sie zu verschieben, und die Leistung und Benutzererfahrung vor dem vollständigen Rollout zu überwachen. Das Festlegen des Gewichts eines Endpunkts auf 0 stoppt den Verkehr auf diesen Endpunkt vollständig. Diese gewichtete Verkehrsverteilung basiert auf dem Verhältnis des Gewichts jedes Endpunkts zum Gesamtgewicht in der Gruppe [2] [3] [4] [5].
Warum Endpunktgewichte nicht für A/B -Tests in benutzerdefinierten Routing -Beschleunigern verwendet werden
Im Gegensatz dazu funktionieren benutzerdefinierte Routing -Beschleuniger anders. Hier sind Endpunkte keine einzelnen EC2 -Instanzen oder Lastbalancer, sondern VPC -Subnetze, die EC2 -Instanzen enthalten. Die Verkehrs -Routing basiert auf statischen Portzuordnungen von den Hörerports des Gaspedalators zu den Zielports in EC2 -Instanzen in diesen Subnetzen.
Wichtig ist, dass benutzerdefinierte Routing -Beschleuniger keine Endpunktgewichte für die Verkehrsverteilung unterstützen. Der Verkehr wird deterministisch an das kartierte Subnetz und die Ports ohne Lastausgleich oder gewichtete Verteilung weitergeleitet. Außerdem werden Gesundheitschecks und Failover für benutzerdefinierte Routing -Beschleuniger nicht durchgeführt, und der Verkehr wird unabhängig von der Endpunktgesundheit geleitet. Dieses Design ist für Anwendungsfälle wie VoIP oder Gaming vorgesehen, bei denen Sie eine präzise Kontrolle benötigen, über die Instanz mit einer Verbindung und einer probabilistischen Verkehrsverteilung umgeht [4] [7] [9].
Zusammenfassung
- Standardbeschleuniger unterstützen die Endpunktgewichte und ermöglichen es Ihnen, A/B -Tests durchzuführen, indem Sie den Anteil des Datenverkehrs kontrollieren, den jeder Endpunkt erhält.
- Benutzerdefinierte Routing -Beschleuniger unterstützen keine Endpunktgewichte. Die Verkehrsrouting basiert auf Port -Mappings zu VPC -Subnetzen, wodurch A/B -Tests über Gewichte nicht möglich sind.
- Für A/B-Tests mit benutzerdefiniertem Routing müssen Sie Routing auf Anwendungsebene oder andere Mechanismen außerhalb der Gewichtskonfiguration des globalen Beschleunigers implementieren.
Wenn Ihr Ziel darin besteht, A/B -Tests durch Verkehrsgewichtung durchzuführen, sollten Sie einen Standardbeschleuniger und nicht einen benutzerdefinierten Routing -Beschleuniger verwenden [2] [3] [4] [7].
Zitate:
[1] https://docs.amazon.com/global-accelerator/latest/dg/about-endpoint-endpoint-weighths.html
[2] https://docs.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.amazon.com/global-accelerator/latest/dg/about-custom-routing-guidelines.html
[8] https://aws.plainenglish.io/undanding-aws-global-accelerator-and-when-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html