在Elastic Beanstalk Web和工作层之间共享数据

时间:2016-02-12 09:29:16

标签: ruby-on-rails ruby-on-rails-4 amazon-web-services elastic-beanstalk amazon-elastic-beanstalk

我有一个在自动扩展Elastic Beanstalk Web环境中运行的平台(基于Rails 4 / Postgres)。我计划将长时间运行的任务(与第三方同步,发送电子邮件等)卸载到工作层,这似乎很简单,可以启动和运行。

但是,我还想运行定期批处理。我已经研究过使用cron.yml并且调度看起来很简单,但是我尝试构建的批处理过程需要从Web应用程序访问数据才能工作。

有没有人对这样做的最佳方式有任何意见? Web和工作层之间的共享RDS数据库,还是工作层可以访问的Web服务?

谢谢, 丹

  

注意:我已经添加了一个额外的问题,更广泛地描述了我的问题   因为我觉得这可能不是最好的方法。   What's the best way to implement this shared batch process with Elastic Beanstalk?

1 个答案:

答案 0 :(得分:1)

除非您需要完整的关系数据库管理系统(RDBMS),否则请考虑在整个实例中使用S3进行共享持久数据存储。

还要考虑Amazon Simple Queue Service (SQS)

  

SQS是一种快速,可靠,可扩展,完全托管的消息队列   服务。 SQS使分离它变得简单且具有成本效益   云应用程序的组件。您可以使用SQS进行传输   在任何吞吐量级别上的数据量,不会丢失消息或   要求其他服务随时可用。