Ваги кінцевої точки дійсно можуть бути використані для проведення тестування A/B за допомогою глобального прискорювача AWS, але ця можливість стосується спеціально для стандартних прискорювачів, а не для спеціальних прискорювачів маршрутизації.
Ваги кінцевої точки та тестування A/B у стандартних прискорювачах
У стандартному акселераторі ви можете призначити ваги окремим кінцевим точкам у групі кінцевих точок. Ці ваги визначають частку трафіку, направленого до кожної кінцевої точки. Налаштуючи ваги, ви можете контролювати, скільки трафіку йде до кожної версії вашої програми, що дозволяє поступово змінювати трафік для сценаріїв, таких як тестування A/B або канарські випуски.
Наприклад, якщо у вас є дві кінцеві точки, ви можете призначити ваги 1 і 255, тому приблизно 1/256 трафіку переходить до першої кінцевої точки (наприклад, нова версія вашої програми) та 255/256 до другої (поточна стабільна версія). Потім ви можете поступово збільшити вагу нової версії, щоб перенести більше трафіку на неї, моніторинг ефективності та досвіду користувачів перед повним розгортанням. Встановлення ваги кінцевої точки на 0 зупиняє трафік до цієї кінцевої точки повністю. Цей зважений розподіл трафіку базується на відношенні ваги кожної кінцевої точки до загальної ваги в групі [2] [3] [4] [5].
Чому ваги кінцевої точки не використовуються для тестування A/B у власних прискорювачах маршрутизації
На відміну від цього, прискорювачі маршрутизації працюють по -різному. Тут кінцеві точки - це не індивідуальні екземпляри EC2 або балансири навантаження, а скоріше підмереж VPC, що містять екземпляри EC2. Маршрутизація трафіку базується на статичних відображеннях портів від портів слухачів акселератора до портів призначення в екземплярах EC2 в цих підмережах.
Важливо, що спеціальні прискорювачі маршрутизації не підтримують ваги кінцевої точки для розподілу трафіку. Трафік направляється детерміновано до відображеної підмережі та портів без балансування навантаження або зваженого розподілу. Також перевірки здоров'я та відмову не виконуються для прискорювачів на замовлення маршрутизації, а трафік маршрутиться незалежно від здоров'я кінцевої точки. Ця конструкція призначена для використання таких випадків, як VoIP або ігри, де вам потрібен точний контроль над тим, який екземпляр обробляє з'єднання, а не ймовірнісний розподіл трафіку [4] [7] [9].
Резюме
- Стандартні прискорювачі підтримують ваги кінцевої точки, що дозволяє проводити тестування A/B, контролюючи частку трафіку, яку отримує кожна кінцева точка.
- Спеціальні прискорювачі маршрутизації не підтримують ваги кінцевої точки; Маршрутизація трафіку є детермінованою на основі відображення портів до підмереж VPC, що робить тестування A/B через ваги неможливою.
- Для тестування A/B за допомогою спеціальної маршрутизації вам потрібно буде впровадити маршрутизацію рівня додатків або інші механізми, що знаходяться поза конфігурацією ваги глобального акселератора.
Тому, якщо ваша мета - провести тестування A/B за допомогою зважування руху, вам слід використовувати стандартний прискорювач, а не спеціальний прискорювач маршрутизації [2] [3] [4] [7].
Цитати:
[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/erstanding-aws-global-accelerator-and-hen-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html