我该怎么做才能避免卡桑德拉的单点故障?

时间:2011-04-05 08:53:36

标签: nosql cassandra

我正在使用phpcassa库获取并将数据设置为cassandra,我已经在2台服务器上安装....我使用CassandraConn :: add_node(' 。* **',9160);因此,虽然插入自动在集群中的其他节点上复制...但如果我的种子节点死亡(如果我关闭cassandra进程),那么我的插入将无法工作,我也无法从其他节点获取数据:(,所以我做的是正确的事情...因为这样他们就没有使用集群那么..理想情况下,如果我的一个节点在另一个节点死亡应该回应我..任何帮助将不胜感激?

2 个答案:

答案 0 :(得分:3)

与RRDNS而不是单个主机连接。 http://en.wikipedia.org/wiki/Round-robin_DNS

(您也可以使用负载均衡器,但这通常是过度杀伤。)

答案 1 :(得分:1)

大多数Cassandra客户端都会让您直接指定多个服务器地址,如果一个服务器地址失败,它们会依次尝试。

我没有使用过phpcassa(只有pycassa),但http://thobbs.github.com/phpcassa/api/index.html的API文档似乎建议你可以指定多个服务器。

根据上一个答案,循环法是另一种选择。