Я новичок в AWS, но это стек, который мы используем, поэтому это необходимо для работы с AWS.Как я могу добавить узлы EC2 и начать их собирать из пула совместной работы?
Я ничего не вижу в наборе инструментов AWS, который помогает мне раскручивать еще один узел EC2, а затем автоматически обрабатывать выделение кучи задач новому узлу.
Так, например, у меня может быть множество запросов на создание чисел Фибоначчи. Первоначально один JVM на одном узле EC2 мог запускать, красть партию чисел для обработки и обрабатывать их.
По мере увеличения нагрузки второй узел может запускаться, а его JVM украсть следующую партию чисел для обработки.
Примечание: ни один номер не должен обрабатываться более одного раза, в идеале. Нечетный обман не имеет значения, но нам нужно избегать конфликтов во всех партиях работы.
Я мог хранить задачи в RDS или, возможно, в DynamoDB. Затем мне нужно было бы отметить записи, зарезервированные конкретным узлом EC2 для обработки, и очистить их после завершения. Хуже того, мне пришлось бы иметь какую-то логику восстановления, если бы узел EC2 опустился и оставил некоторые записи, помеченные для обработки.
Я мог бы использовать что-то не-AWS-y, например Redis, и распространять данные в памяти через JVM. Мне по-прежнему нужно упорствовать в записи в какой-то момент, поскольку они должны быть долговечными, но это, по-видимому, будет более результативным.
Я думаю, что я считаю, что это должно быть очень распространенным требованием: иметь общее состояние и обрабатывать его с изменением количества узлов, что там должно быть решение.
См. Https://aws.amazon.com/documentation/autoscaling/ – alfasin
Я не вижу ничего, что касается общего состояния или распределения работы из пула. – fiddlesticks
Предполагая, что все узлы в вашей ASG настроены с использованием одного и того же AMI, вы можете создать правило автомасштабирования на основе использования ЦП или других показателей, доступных в watchwatch, таким образом, когда ваша ASG будет перегружена, AWS автоматически разворачивает новые экземпляры. Если у вас нет логики вашего экземпляра, испеченного в AMI, то есть если любой новый экземпляр, который вы добавляете, требует ручной установки и настройки - тогда AFAIK невозможно автоматическое масштабирование без ручного вмешательства. – alfasin