Сеансы AWS Elasticache PHP с ELB и веб-серверами в разных центрах обработки данных

Я использую балансировщик нагрузки AWS с веб-серверами в разных центрах обработки данных.

Мне нужно начать использовать PHP-сессии на Elasticache для централизации управления сессиями.

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

Это тот случай? Или нет или очень минимальное влияние на скорость?

2 ответа

Наличие двух узлов ElasticCache для репликации по регионам не будет работать очень хорошо. Задержка сети, вызванная разнесением на 2500 миль, сведет на нет большую часть / весь прирост производительности.

Вам не нужно делиться данными сеанса между регионами. Настройте DNS-маршрутизацию на основе задержки в Route53, которая автоматически направит каждого пользователя в ближайший центр обработки данных. Их сессии будут жить в своем регионе.

Когда вы говорите "Центры обработки данных", вы имеете в виду регионы (us-west-1, us-east-1) или зоны доступности (us-west-1a, us-west-1b и т. Д.).

Если вы просто используете две зоны доступности в одном и том же регионе, задержка незначительна, и вы можете рассматривать зоны доступности, как если бы они были одним и тем же центром обработки данных (даже если они изолированы, они соединены высокоскоростным волокном).

Если вы говорите о двух регионах (например, us-west-1 и us-east-1), то задержка будет намного выше (плюс ELB не уравновешивает регионы, а только зоны доступности).

Другие вопросы по тегам