Назад | Перейти на главную страницу

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

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

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

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

Так ли это? Или нет или очень мало влияния на скорость?

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

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

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

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

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