2013-07-04 2 views
0

Я использую Java для создания экземпляров EC2 из Eclipse. Теперь я хотел бы направить части приложения в эти экземпляры, чтобы они могли обрабатывать все необходимые обработки и затем отправлять результаты обратно на мою машину.Развертывание кода для экземпляра Amazon EC2

То, что я пытаюсь сделать что-то вдоль линий:

assignWork(){ 
    workPerformed = workQueue; 
    workPerInstance = workQueue/numberOfInstances; 
    while(workQueue > 0){ 
     netxInstance.doWork(workPerformed,workPerInstance); 
     workPerformer -= workPerInstance; 
    } 
} 

doWork(start, end){ 
    while(start>end){ 
     //process stuff 
    start--; 
    } 
} 

Таким образом, я мог контролировать, сколько именно AMI, чтобы конкретизирует в зависимости от объема работы под рукой. Я мог бы создать их экземпляр, отправить им конкретный код для обработки, а затем прекратить их, как только получаю результаты.

Возможно ли это, используя AWS JDK?

ответ

1

Это, но считают, что ...

  1. Если у вас есть СУО, и они попадают в SQS Limits (максимум 4 дней), вы могли бы рассмотреть возможность публикации своих очередей задач в SNS/SQS, и используйте CloudWatch для отслеживания количества необходимых экземпляров.

  2. Если у вас четкое разделение ролей (больше похоже на рабочий процесс), а долговременные задачи не имеют большого значения, и вы можете повторить попытку, а также подумайте над использованием AWS SWF. Это немного выходит за рамки SQS/SNS Combo, и я думаю, что это может прекрасно сочетаться с CloudWatch (это просто теория, я не смотрел дальше). Минусы - это экстремальное решение для документирования процессов Workflow

  3. Если ваша рабочая нагрузка предсказуема (скажем, около 5 тыс. Процессов для обработки сегодня), что означает, что вам не нужно в режиме реального времени, и вы можете запросов, а затем подумайте об использовании Elastic MapReduce для этого. Будучи основанным на Hadoop, он предлагает некоторые такие тонкости, такие как возможность изменения размера вашего кластера по требованию и очевидный случай отсутствия блокировки поставщика.

  4. На самом деле, если вы хотите, чтобы это обошлось без особых сюрпризов, рассмотрите варианты, такие как PiCloud и IronWorker. Они действительно были созданы для ситуаций, подобных тому, что вы только что описали.

Если у вас есть только очередь и EC2, вы можете, конечно, автоматизировать это. Это зависит только от того, насколько сильно вы хотите координировать эти задачи, но я уверен, что это возможно.

Смежные вопросы