Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
Ruby on rails 在AWS Elastic Beanstalk上配置Rails、Sidekiq和Redis的可持续解决方案_Ruby On Rails_Redis_Sidekiq_Amazon Elasticache_Amazon Elastic Beanstalk - Fatal编程技术网

Ruby on rails 在AWS Elastic Beanstalk上配置Rails、Sidekiq和Redis的可持续解决方案

Ruby on rails 在AWS Elastic Beanstalk上配置Rails、Sidekiq和Redis的可持续解决方案,ruby-on-rails,redis,sidekiq,amazon-elasticache,amazon-elastic-beanstalk,Ruby On Rails,Redis,Sidekiq,Amazon Elasticache,Amazon Elastic Beanstalk,AWS Elastic Beanstalk rails应用程序需要一个sidekiq worker进程与Puma/乘客一起运行。让sidekiq进程运行会导致数小时的失败尝试。另外,让rails应用程序和sidekiq与我的AWS ElastiCache集群对话显然需要一些安全规则更改 背景 我们从一个非常简单的Rails应用程序开始,该应用程序很容易部署到AWS Elastic Beanstalk。从早期开始,我们已经开发了应用程序,现在使用worker框架Sidekiq。Sidekiq也喜欢

AWS Elastic Beanstalk rails应用程序需要一个sidekiq worker进程与Puma/乘客一起运行。让sidekiq进程运行会导致数小时的失败尝试。另外,让rails应用程序和sidekiq与我的AWS ElastiCache集群对话显然需要一些安全规则更改

背景 我们从一个非常简单的Rails应用程序开始,该应用程序很容易部署到AWS Elastic Beanstalk。从早期开始,我们已经开发了应用程序,现在使用worker框架Sidekiq。Sidekiq也喜欢使用Redis来完成它的工作。无论如何,在AWS世界中组装所有这些拼图都有点挑战性。

网络解决方案……还有一些可持续性问题 AWS生态系统经历了更新和升级,很多都没有清晰的文档记录。例如,环境设置定期变化;您编写的脚本可能会在后续版本中中断

我使用了以下少量的解决方案来解决这个问题:

  • (请注意,这篇博文中的评论包含许多有用的GIST)。非常感谢本文的投稿人和评论者
  • (用upstart/initctl启动sidekiq似乎是最简单、最可持续的方法)。这个页面是日文的,但是sidekiq启动代码完全有意义。谢谢
  • 使用AWS的用于Redis的ElastiCache。请确保相应地配置您的安全组:

我会在有时间的时候更新并补充这个答案。我会确保包括版本号和一些GIST。很棒的计划。不过,一定要小心链接腐烂。我会将这篇最近的文章添加到这个列表中:虽然是日语,但它比我迄今为止看到的任何其他脚本都好。