Распределитель нагрузки приложения AWS по неизвестным динамическим URL-путям - PullRequest
0 голосов
/ 29 марта 2019

Можно ли выполнить балансировку нагрузки пути URL-адреса на балансировщике нагрузки приложения AWS, когда пути генерируются динамически? * 1001 например *

example.com / abc12345 example.com/abc54321

Обратите внимание, что структура URL не имеет структуры

У меня есть сценарий, в котором "комнаты" будут генерироваться динамически, и я хочу иметь возможность балансировать их нагрузку. Имена комнат не будут известны заранее, и другая проблема заключается в том, что внешняя служба будет пинговать их (следовательно, поэтому мне нужно балансировать нагрузку на URL, а не на файл cookie / сеанс).

Кто-нибудь знает, может ли это быть достигнуто, или есть лучший способ добиться этого? Я недостаточно знаком с методами балансировки нагрузки. Мои первоначальные мысли были бы очень просты, поскольку я хэшировал PATH, а затем извлекал из него целочисленное значение (через модуль или эквивалентный) и основывал на этом баланс нагрузки.

Любой совет с благодарностью.

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

1 Ответ

0 голосов
/ 30 марта 2019

Вы можете развернуть дистрибутив Cloudfront перед вашим приложением. с помощью CF вы можете направлять различные пути по префиксу к различным балансировщикам нагрузки. (/ abc * в LB1 и / xyz * в LB2) Вы можете даже направить некоторые пути к конечным точкам не-AWS или сегментам S3.

Док: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...