Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon ec2 基于每个实例上转码进程数的EC2和ELB策略_Amazon Ec2_Amazon Web Services_Autoscaling_Amazon Elb - Fatal编程技术网

Amazon ec2 基于每个实例上转码进程数的EC2和ELB策略

Amazon ec2 基于每个实例上转码进程数的EC2和ELB策略,amazon-ec2,amazon-web-services,autoscaling,amazon-elb,Amazon Ec2,Amazon Web Services,Autoscaling,Amazon Elb,我需要在ELB后面的一系列自动缩放实例上对大量音频文件进行转码。转码脚本的核心是基于Node.Js和FFMPEG的。排队是不可能的,因为用户没有耐心!我需要控制每个实例上转码的数量,以避免CPU 100%的问题 我的问题: A-有没有办法为ELB定义一个策略来控制每个实例的连接数?如果没有,是否有任何参数控制每个实例上的平均CPU利用率,并在触发级别后添加一个新的参数?(我找到了幻灯片,但它并不完整)如果它在运行中添加一个新实例,新实例100%运行以服务于用户需要多长时间(我的意思是自动缩放是否

我需要在ELB后面的一系列自动缩放实例上对大量音频文件进行转码。转码脚本的核心是基于Node.Js和FFMPEG的。排队是不可能的,因为用户没有耐心!我需要控制每个实例上转码的数量,以避免CPU 100%的问题

我的问题:

A-有没有办法为ELB定义一个策略来控制每个实例的连接数?如果没有,是否有任何参数控制每个实例上的平均CPU利用率,并在触发级别后添加一个新的参数?(我找到了幻灯片,但它并不完整)如果它在运行中添加一个新实例,新实例100%运行以服务于用户需要多长时间(我的意思是自动缩放是否有很长的延迟?)

B-是否有其他替代架构来实现相同的转码解决方案?(我已将我目前的想法作为一张图纸包含在这个答案中)。我不能使用像Transcoding.com这样的第三方解决方案,我需要我的本机解决方案

C-我对每个实例使用node.js,并通过套接字向用户浏览器显示进度。从浏览器端,我定期向node.js端发送一些ajax请求,以获取进度信息。此机制是否存在粘性会话问题


谢谢。

您需要使用AWS SDK。通常情况下,您会使用C#、Ruby等的官方软件。由于您在node.js上,请尝试在github上使用此SDK来监视、限制和创建实例连接池等

还有AWS2JS


如果您的扩展需要响应服务器上的单个请求(即,单个请求需要X台机器才能在所需的时间范围内执行),那么自动缩放可能不是您的解决方案,因为新实例激活时会有延迟。以这种方式运行服务的成本也可能会高得多,因为您可以根据单个请求进行多次扩展和计时,对启动的每个实例至少收取一小时的费用

但是,如果您关心自动缩放,例如,当您收到请求量峰值时,在高峰时间将您的机队增加50%(即,您已经有许多服务器为许多请求提供服务,但您只需要通过添加更多实例来降低高峰时间的延迟),那么自动缩放可能会对您很好

在这种情况下,可以配置任意数量的触发器来控制缩放事件

ELB支持会话关联(“粘性”会话)