Я хочу построить кластер EC2 «рабочих» случаях, когда каждый EC2 должен обрабатывать конкретный осколок пользователей, позволяет сказать:AWS: условный маршрут EC2 в зависимости от содержания
- EC2-1 обрабатывает пользователей-1 -2-3
- EC2-2 обрабатывает пользователи-4-5-6
- EC2-3 обрабатывает пользователи-7-8-9
Так что, когда пользователь-3 пытается войти в систему и выполнить другие запросы в моем сервисе, каждый запрос от этого пользователя всегда направляется к тому же EC2-1, так что я могу иметь всю информацию, связанную с конкретным пользователем, размещенным на одной машине, в куче (чтобы уменьшить нагрузку на базу данных и избежать сложных запросов из разных разделов, но это совсем другая история).
Каков наилучший способ сделать это в Амазонке?
Думаю, для этого мне нужно поддерживать какую-то таблицу сопоставления (userId < -> экземплярIp). Один из вариантов, о котором я подумал, - это дополнительный экземпляр EC2 для маршрутизации (или кластер из не менее 2 из них, для восстановления после сбоя, с помощью ELB), который управляет только перенаправлением на «рабочие» экземпляры (в том же регионе) в соответствии с таким сопоставлением таблицу и обновляет таблицу (возможно, каждый экземпляр «worker» должен как-то сообщить, что он работает и управляет пользователями - XYZ).
Но, может быть, есть способ сделать это через услуги Amazon без дополнительной «маршрутизации» EC2? Я прочитал несколько документов о VPC, Route53 и Geo routing, но самое близкое, что я мог найти, это http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html , но я не уверен, что это правильно, потому что на каждого «рабочего» могут быть миллионы пользователей, EC2, и я не знаю, что он работает для динамического контента, такого как идентификаторы пользователей.
да, и я надеюсь, что это будет как 2 миллионов пользователей на рабочий EC2 ...
Если искатель хочет очертить хардкор, это не поможет. липкие сеансы делают все возможное, чтобы использовать один и тот же хост для каждого клиента, но не могут маршрутизировать его в осколки (например, серверы 1-2-3 обрабатывают имена пользователей, начиная с A-F). во всяком случае, есть несколько архитектурных проблем, но, по-моему, это может быть связано с несколькими кластерами/ELB и переадресацией. – tedder42
@ datasage спасибо за подсказку о липких сеансах! если я не найду другого способа, я дам им попытку. – blackdigger
@ tedder42 Да, мне хотелось, чтобы «хардкор» окутал, я думаю. Кстати, вы упомянули некоторые архитектурные проблемы, не советуете ли вы против этого подхода? У меня нет большого опыта работы с амазоном, может быть, я роняю монстра? если это так, лучше убить его сейчас, чем позже haha – blackdigger