我们正在使用cassandra来确保我们的应用程序可用性和备份相关功能。
因此,现在我正在探索节点,集群,数据中心相关信息的概念。看完一切后,我很困惑。
在我的本地,我已经在两台机器上安装了cassandra,两台机器都可以相互通信。我可以在两台机器上获取相同的信息。
我的困惑是我的设置中的节点是什么?(这意味着我的机器?)。
我的目标是:我将设置两个亚马逊EC2实例都将有cassandra。
如果一个实例关闭,我可以从其他机器获取数据。
初学者,请给我你的建议。
由于
答案 0 :(得分:1)
节点是在计算机上运行的Cassandra的特定实例。在您的场景中,每台计算机都是一个节点。
从任一计算机获取数据的能力将更多地与复制因子和复制策略的设置有关。复制策略告诉Cassandra如何跨节点/机架/数据中心复制数据。复制因子告诉Cassandra复制数据的次数。
在您的方案中(因为您在单个DC中),您可以将SimpleStrategy用于复制策略,复制因子(RF)为2.使用此设置,您将在两个节点上复制所有数据。这将使得任一节点都可以获得数据。
除了上面列出的项目之外,还有您在读取和写入时设置的一致性级别(CL)的概念。您可以选择多种不同的CL,并且可以在读取和写入调用中以不同方式设置它们。在您的场景中,您可能希望设置CL为ONE。这意味着如果任何副本能够写入数据,则读取或写入调用将成功。这将允许您的一个节点关闭并仍然能够处理查询。
以下是一些其他链接,可以阅读有关这些概念的更多信息: