Apache Cassandra 节点驱动程序连接

问题描述 投票:0回答:1

我使用节点服务器作为后端。与 Cassandra 的连接是使用 cassandra-driver nodejs 完成的。

连接完成如下:

const client = new cassandra.Client({
  contactPoints: ['h1', 'h2'],
  localDataCenter: 'datacenter1',
  keyspace: 'ks1'
});
  1. 在 contactPoints 中,我只需要添加“种子”节点还是可以添加数据中心中的任何节点?
  2. 我需要为每个数据中心运行单独的后端服务吗?或者有没有办法从同一个 Nodejs 后端服务连接多个数据中心?
  3. 有什么推荐的方法来设置后端服务器,以便最小化 Cassandra 节点和后端服务器之间的带宽?
node.js cassandra cassandra-driver
1个回答
0
投票
  1. 是的,任何节点都可以,因为驱动程序一旦连接到“接触点”进行初始握手,就立即知道集群的整个拓扑
  2. 通过同一客户端连接到多个数据中心始终是一个坏主意。设置应该是将基于本地区域/数据中心的应用程序微服务连接到同一 C* 区域/数据中心以实现局部性。无论如何,在故障转移期间,假设整个云区域都发生故障,应用程序服务也将与集群的数据中心一起关闭。因此,故障转移将发生在这些之上的一层,就像负载均衡器将流量路由到适当的区域服务(应用程序+数据库)。此外,这也是我们在创建客户端时提供本地数据中心的原因。请参阅下图作为参考(由 DataStax 提供)
  3. 我不明白我们在这里指的是什么带宽。如果您可以更新您的问题并提供清晰的信息,也许我们可以尝试相应地更新我们的答案。
© www.soinside.com 2019 - 2024. All rights reserved.