alp*_*eus 10 memcached ruby-on-rails heroku amazon-elasticache
我目前在Rails 3应用程序中使用Heroku的Memcached,并希望转移到Elasticache,因为价格更优惠.这可能吗?配置相对简单吗?关于性能,我应该注意什么?
不,不建议您使用Elasticache,因为它没有认证机制.因此,任何人都可以访问您的缓存!这通常很好,因为您将使用AWS安全规则来限制哪些计算机可以访问您的计算机.但是,这显然不适用于Heroku,因为您的应用程序是在随机选择的Herokus机器上运行的.
您可以在EC2计算机上使用SASL身份验证自行部署memcache.ElastiCache实际上并没有给你提供任何东西,而是预装了memcache的EC2机器.
还有另一种选择:MemCachier
(完全免责声明,我为MemCachier工作).
Heroku上还有另一个memcache提供程序,它比membase提供的提供程序便宜得多.它叫做MemCachier,插件主页就在这里.
它的价格与ElasticCache相当,具体取决于您的缓存大小以及是否使用保留实例(在非常大的缓存大小下,ElatiCache更便宜).
更新(2013年6月):membase memcache插件已关闭,因此MemCachier是Heroku上唯一的Memcache提供程序.
如果您需要任何帮助,请与我联系,即使您使用ElastiCache也是如此.
危险:我不建议将此解决方案用于生产用途。虽然这确实有效,但@btucker 指出它允许任何Heroku 托管的应用程序访问您的 ElastiCache 集群。
是的你可以。设置类似于 Heroku 在Amazon RDS上的指南。不同的步骤是这样的:
允许 Heroku 的服务器进入您的 ElastiCache 集群,如 RDS 指南所述,但将rds-
命令替换为elasticache-
:
elasticache-authorize-cache-security-group-ingress \
--cache-security-group-name default \
--ec2-security-group-name default \
--ec2-security-group-owner-id 098166147350 \
# If your AWS_CREDENTIAL_FILE environment setting is configured,
# this option is not necessary.
--aws-credential-file ../credential-file-path.template
Run Code Online (Sandbox Code Playgroud)使用集群的主机名为您的生产应用程序设置 Heroku 配置值:
heroku config:set MEMCACHE_SERVERS=elasticachehostname.amazonaws.com
Run Code Online (Sandbox Code Playgroud)之后,按照Memcache Rails 设置,就可以了。
归档时间: |
|
查看次数: |
6606 次 |
最近记录: |