所以我有一个应用程序,大部分时间都是非常hibernate的,但是这个应用程序需要在几个月内爆发。 由于我们在EC2上进行部署,因此我希望大部分时间只保留一台Cassandra服务器,然后在爆发时间内,我想再增加一台服务器(使用比先前更多的RAM和CPU)来帮助提供服务。 做这个的最好方式是什么? 我应该采取不同的方法吗?
关于我打算做什么的一些说明:
我的主要问题是如何让节点共享所有的数据,因为我想要一个复制因子2(所以这两个节点都拥有所有的数据),但只有一个服务器时,这将无法正常工作。 我应该提出2个额外的服务器,而不是一个?
看来,你可以很容易地改变复制因素 。
这也在Cassandra维基上提到,您可以在这里find增加和减less复制因子的说明。
这意味着应该可以这样做:
根据我的经验,更改复制因子在我的经验中并不能很好地工作:-(对于我来说,最终可能会遇到架构分歧,这些分歧会花费很多时间来解决。
只是想大声,但另一个可能的路线可能是(改变时机,以适应):
比第一个更多的RAM和CPU
Cassandra通过每个节点负责的环的数量来有效地分配工作量。 让第二个节点或者是第一个节点容量的两倍,或者增加两个与第一个节点相同大小的节点,可能会更容易,这样可以更容易地分割环。
当放弃节点时,这仍然需要手动节点工具干预,因为已提示的切换将在剩余节点上不必要地填满磁盘。