A/B-тестирование на двух разных серверах

Это может быть глупый вопрос. У меня есть два отдельных сервера — разные машины, разные IP-адреса, разные сайты. Один из них — Nginx, а другой — неизвестного типа (клиент не скажет, хе-хе). Возможно ли, чтобы «domain.com» (который в настоящее время указывает на неизвестный сервер) был доменом для A/B-тестирования. Где 50% зайдут на domain.com и увидят неизвестный сервер с его полным функционалом, а остальные 50% зайдут на тот же домен и увидят мой сервер nginx с его полным функционалом.

Причина, по которой они должны быть отдельными, заключается в том, что клиент, который запрашивает это, отказывается делиться доступом к своей текущей неизвестной настройке.


person Ksenia    schedule 09.04.2018    source источник


Ответы (1)


Вы можете обслуживать записи DNS в циклическом стиле, где обслуживаются оба IP-адреса. как действительные записи A. Хотя это будет иметь недостатки; например, если срок действия кэшированной записи DNS истекает, когда пользователь просматривает сайт, он может внезапно переключиться на другой сервер и, таким образом, выйти из системы или потерять аналогичные данные сеанса (при условии, что серверы не обмениваются данными сеанса друг с другом).

Возможно, лучшим решением будет пропустить весь трафик через балансировщик нагрузки. Балансировщик нагрузки может быть настроен на случайный выбор сервера для направления трафика и полупостоянное запоминание этого выбора на основе исходного IP-адреса пользователя.

person John Ellmore    schedule 09.04.2018
comment
Вы имеете в виду третий сервер, используемый в основном как сервер маршрутизации? Эти два сайта являются интернет-магазинами. Было бы лучше, если бы пользователь не перенаправлялся в процессе покупки. - person Ksenia; 09.04.2018
comment
Да, это третий сервер. Например, AWS предлагает услугу Elastic Load Balancing. См. пример функции Sticky Sessions. - person John Ellmore; 09.04.2018
comment
Спасибо большое, не только подсказали, но и очень помогли! - person Ksenia; 09.04.2018