我知道Cassandra仍处于测试阶段,但我想玩它。这绝不是一个生产项目;这只是为了娱乐和学习一点点。但最好的学习方法是实际部署并让人们完成它的步伐。
我想将Cassandra与Heroku一起使用,所以我想将它部署在EC2上(就像Heroku一样)。什么是最好,最简单,最便宜的方式?有什么建议吗?
我通过谷歌看过一些,但他们警告过: EC2实例不适合生产使用。它们将数据存储在实例本身上,并在实例关闭时消失。
答案 0 :(得分:4)
使用Elastic Block Storage(EBS)实例存储Cassandra日志和数据文件。您需要更改/etc/cassandra/cassandra.yaml
以指定这些文件的位置。 EBS实例在其附加的EC2实例关闭时会持续存在。
您可以在一个实例上安装它以试用界面并试验数据模型。您还不需要设置群集。
要测试群集功能,您可以尝试设置三个实例并为所有键空间提供复制因子3.但这可能是实验的后期阶段,而不是试验数据模型。建议的最小群集大小为3.
您应该尝试不同的机器尺寸。要试验超小型实例,可以使用Rackspace等备用供应商。如果您遇到较小实例大小的性能问题,请查看向上移动实例大小是否可以解决这些问题。
Rails有一些alpha Cassandra-Object-Mapping库。您可能会发现这些并不适合您。您可以选择回馈它们,或者直接在模型中实现模型持久性代码。对于Rails 3应用程序,您可能希望查看ActiveModel接口和帮助程序模块,以便您的模型能够很好地与ActionPack和其他期望与ActiveModel兼容的模型的库一起使用。