2013-07-04 7 views
0

Java를 사용하여 Eclipse 내에서 EC2 인스턴스를 작성하고 있습니다. 이제는 응용 프로그램의 일부를 이러한 인스턴스로 푸시하여 처리가 필요한 모든 작업을 처리 한 다음 결과를 다시 내 컴퓨터로 보낼 수있게하려고합니다. 나는 많은 AMI의 손에서 작품의 양에 따라 인스턴스화하는 방법을 정확하게 제어 할 수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--; 
    } 
} 

이 방법 : 내가 할 노력하고있어

이의 라인을 따라 무언가이다. 인스턴스화하고 처리 할 특정 코드를 보낸 다음 결과를받는대로 즉시 종료 할 수 있습니다.

AWS JDK를 사용하면 가능합니까?

답변

1

는하지만, 그 생각 ...

  1. 는 SLA를하는 경우, 그들은 당신이, SNS/SQS로 작업 대기열을 게시 고려할 수 SQS 제한 (최대 4 일) 내에 및 CloudWatch를 사용하여 필요한 인스턴스의 수를 추적하십시오.

  2. 워크 플로우와 같이 분명한 역할을 담당하고 장기 실행 작업에 큰 문제가 없으며 재 시도 할 수있는 경우 AWS SWF를 대신 사용해보십시오. 그것은 SQS/SNS Combo를 약간 넘어 서기 때문에 CloudWatch와 잘 어울릴 것입니다. (이론은 그 이상입니다.) 단점이 있습니다. 워크 플로우 프로세스 작성을위한 AWS 플로우 프레임 워크

  3. 워크로드가 예측 가능한 경우 (즉, 현재 처리 할 프로세스가 약 5K), 즉 실시간 처리가 필요하지 않으며 그런 다음 Elastic MapReduce를 사용해보십시오. Hadoop 기반이기 때문에 요청에 따라 클러스터의 크기를 조정할 수 있고 벤더가 전혀 잠겨 있지 않은 명백한 경우와 같은 몇 가지 좋은 점을 제공합니다.

  4. 실제로 놀랍지 않게 관리하고 싶다면 PiCloudIronWorker과 같은 옵션을 고려하십시오. 그들은 단지 당신이 방금 설명한 것과 같은 상황을 위해 만들어졌습니다.

대기열과 EC2 만 있으면 확실히 자동화 할 수 있습니다. 이 작업을 얼마나 조율하고 싶은지에 달려 있습니다.하지만 가능한 것은 확실합니다.

관련 문제