noh*_*eye 49 amazon-ec2 redis amazon-elasticache
我想自己主持一个Redis服务器.我将EC2与Elasticache进行了比较.我想知道EC2的缺点是什么.
EC2微型实例的成本与ELasticache微型实例的成本一样多,但是更多是400 MB的内存.为什么要使用Elasticache而不是在ec2 tiny isntance上设置自己的Redis服务器?
Rya*_*ugh 38
由于我很懒,我会选择Elasticcache而不是EC2,以便我可以避免管理Redis实例的一些操作方面.使用Redis on EC2,您负责主机和Redis实例的扩展,更新,监视和维护.如果您处理Redis的操作方面很好,那么它应该不是问题.很多人都在查看运行Redis实例的操作方面的成本.除非你对Redis经验丰富,否则我会考虑使用Elasticache.我一直在使用它,到目前为止一直非常满意.
现在,当您需要Elasticache不支持的Redis自定义配置时,EC2才有意义.
此外,̶如果您需要连接到您的Redis的情况下从外部的AWS环境,̶̶E̶l̶a̶s̶t̶i̶c̶a̶c̶h̶e̶将是一个问题,因为你不容使用Redis的-CLI连接到Redis的实例,它是运行在̶E̶l̶a̶s̶t̶i̶c̶a̶c̶h̶e̶从̶o̶u̶t̶s̶i̶d̶e̶.̶
最后,如果你计划处于Redis的最前沿,那么运行自己的更有意义.但话说回来,你拥有操作位,监控,修补等.
Kea*_*her 37
tl; dr:Elasticache强制您使用redis的单个实例,这是次优的.
长版:
我意识到这是一篇旧文章(撰写本文时为2年),但我认为重要的是要注意我在这里看不到的一点.
在弹性缓存上,您的redis部署由Amazon管理.这意味着你仍然坚持,但他们选择运行你的redis.
Redis使用单个执行线程进行读/写.这确保了无锁定的一致性.就性能而言,它不是管理锁和锁存器的重要资产.然而,不幸的结果是,如果你的EC2有超过1个vCPU,它们将被闲置.具有多个vCPU的所有弹性缓存实例都是这种情况.
默认的elasticache实例大小是cache.r3.large,它有两个核心.
实际上,有许多具有多个vCPU的实例大小.这个问题有很多机会表现出来.
亚马逊似乎已经意识到了这个问题,但他们似乎对它有点不屑一顾.
使这与此问题特别相关的部分是,在您的EC2上(因为您正在管理自己的部署),您可以实现多租户.这意味着您有许多redis进程实例正在侦听不同的端口.通过根据记录密钥的散列选择在应用程序中读/写哪个端口,您可以利用所有vCPU.
作为旁注; 与实例大小上的memcached elasticache部署相比,多核机器上的redis elasticache部署应始终处于执行状态.随着多租户redis往往成为赢家.
更新:
Amazon现在为您的redis实例CPU EngineCPUUtilization提供单独的度量标准.您不再需要使用劣质乘法来计算CPU,但仍未实现多租户.
| 归档时间: |
|
| 查看次数: |
30059 次 |
| 最近记录: |