我刚开始使用 Cassandra,有几个问题。根据 DataStax 文档 ( http://www.datastax.com/docs/datastax_enterprise3.1/install/install_dse_ami ) ,我将在 AWS 上部署一个 4 节点集群。
一旦我启动并运行了这个 4 节点集群,我将创建一个简单的 LAMP 服务器,它将(希望)对集群进行查询。我将使用 Cassandra-PDO 进行通信 ( http://code.google.com/a/apache-extras.org/p/cassandra-pdo/ )。最终总共有 5 台服务器。
例如:
192.168.0.1 - Cassandra1
192.168.0.2 - Cassandra2
192.168.0.3 - Cassandra3
192.168.0.4 - Cassandra4
192.168.0.5 - LAMP 堆栈
如何平衡从 LAMP 服务器到我的 Cassandra 集群的所有请求?在 CPDO 示例中,他们提到了以下内容:
$dsn = "cassandra:host=192.168.0.1;port=9160,host=192.168.0.2,port=9160";
但是,如果我不知道 IP 是什么,我该怎么办?如果我添加新节点会怎样?旧节点失败等?您是否必须自己以某种方式对请求进行负载平衡?
任何关于上述的建议将不胜感激!
干杯
此 pdo 检查列表中的第一个可用节点。如果第一个节点似乎已关闭,他会使用第二个......您必须自己进行负载平衡(在我们的例子中,我们打乱了节点列表)。但要小心这一点。您加入的节点不是处理您要读/写的行的节点。它只是一个处理请求的协调器。如果添加新节点,如果您想将其用作可能的协调器,则必须添加他的ip,但这不会影响集群本身的运行。