1.要解决的问题
在许多系统中,批处理进程是在特定的时间被执行,通常在持续运行的服务器中会使用调度程序(例如UNIX中的cron)。然而,执行批处理的时间其实很短,所以在其他时段就造成了服务器资源的浪费,而导致较低的成本效益。我们要解决的问题就是如何在这种场景下有效利用批处理服务器资源。
2.云模式的说明
在过去,即使批处理服务器只在特定时段工作,却需要分配一个全时段运行的服务器。其实您可以通过给这个服务器分配其他任务来提高效率。AWS云可以使虚拟服务器被按需使用,只有当执行批处理进程时才会运行虚拟服务器。
在指定时间执行的批处理进程需要系统能在设定的时间启动虚机,您可以通过使用AWS云服务中的调度系统来实现。
3.实施
AWS中的“Auto Scaling”系统可以自动增加或减少EC2实例的数量。Auto Scaling具有在指定时段增加或减少EC2实例的功能,您可以用它来实现在指定时段执行批处理进程。
当启动时,为执行批处理准备一个Amazon机器镜像(AMI)(机器镜像)。
在Auto Scaling中,设置需要在指定时段依据AMI启动的EC2实例。
对EC2实例本身和Auto Scaling进行设置,以便在进程完成后终止EC2实例。
4.配置
5.好处
在特定时段进行批处理的EC2实例不必持续运行,只有在进程执行时才会被启动,大大降低了成本支出。
6.注意事项
当很难判定批处理完成的时间时,您可以使EC2实例在批处理进程结束后自动关闭。
EC2实例的租用是根据单位时间计费的,最少一小时起,所以如果一个EC2实例启动了之后立即关闭也会收一个小时的费用。所以,您需要注意实例的启动和关闭时间。