1

간단한 Java 웹 애플리케이션을 사용하여 부트 스트랩하고 Spring JMS 클라이언트를로드하여 대기열의 메시지를 수신하고 수신 메시지를 처리 ​​할 계획입니다. 내 웹 응용 프로그램은 JMS 클라이언트를로드하기위한 목적으로 만 존재합니다. 이 응용 프로그램에 액세스하는 사용자는 없습니다.분산 메시지 처리에 AWS Elastic Beansalk를 사용할 수 있습니까?

AWS Beanstalk에이 응용 프로그램을 배포하려는 경우 작업 대기열에 메시지가로드되고 웹 응용 프로그램의 jms 작업 수신기가 사용 가능한 모든 리소스 (메모리)를 사용한다고 가정하면 자동으로 확장됩니다. 스레드 등? AWS는로드 밸런서에 트래픽이없는 경우에도 애플리케이션의 새로운 인스턴스를 가속화합니다.

답변

1

다양한 메트릭을 기반으로 Elastic Beanstalk를 확장 및 축소하도록 설정할 수 있습니다. 기본적으로 NetworkOut을 사용하지만 CpuUtilization 및 DiskWriteBytes와 같이 선택할 수있는 몇 가지 옵션이 있습니다.

크기 조정 트리거를 CpuUtilization로 설정하면 JMS 클라이언트가 처리 메시지가 많이로드되어 클라이언트 수를 늘릴 수 있습니다. 예를 들어 CPU로드가 5 분 동안 평균> 80 % 인 경우 확장 할 수 있습니다.

ElasticBeanstalk은 CloudWatch 메트릭을 스케일링 트리거로 사용합니다. 이는 Elastic Beanstalk 및 EC2의 모니터링 탭에서 볼 수있는 것과 동일한 메트릭입니다. EC2에서 사용자 지정 메트릭을 만들 수는 있지만 Elastic Beanstalk이 자동 조정 트리거로 사용자 지정 메트릭을 사용할 수 있는지 여부는 알 수 없습니다.

확대/축소 트리거에 대한 자세한 내용은 Elastic Beanstalk documentation을 참조하십시오.