gpt4 book ai didi

cassandra - 将数据读/写到 Cassandra 集群

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:08 24 4
gpt4 key购买 nike

我有一个 Cassandra 集群,有 4 个节点和 IP:

  1. A:192.168.0.1(种子提供者)
  2. B:192.168.0.2
  3. C:192.168.0.3
  4. 电话:192.168.0.4

集群的读写一致性级别 (CL) 配置为“一”。

我想通过网络服务向集群写入记录/从集群读取记录,但我有几个问题:

  1. Web 服务应该连接到哪个节点?这重要吗?
  2. 它如何处理读取操作?假设记录被插入“B”,Web 服务试图从“C”读取它。如果记录还没有写入“C”,它是否仍然从“B”获取它?

如果能提供一些引用就好了。

提前致谢

最佳答案

  1. Web 服务应该连接到哪个节点?这重要吗?

不,您告诉您的服务连接到哪个节点并不重要。 Cassandra 使用 gossip protocol获取有关整个集群的信息,包括它可以连接到的其他节点。这是为了允许您在集群中添加或替换节点,而不会威胁到应用程序的可用性。

话虽如此,为您的应用程序提供几个要连接的节点是个好主意。这将确保它始终可以找到要连接的初始节点。

  1. 它如何处理读取操作?假设记录被插入“B”,Web 服务试图从“C”读取它。如果记录还没有写入“C”,它是否仍然从“B”获取它?

是的,对于高可用性的分布式数据库,您是在“最终 consistency”的前提下运行的。在 replication 期间读取陈旧数据过程是可能的。

这有什么大不了的? Netflix 对此做了非常好的演示,标题为:Eventual Consistency != Hopeful Consistency .您应该通读文档并观看视频。最重要的是,花在陈旧或“脏读”风险上的时间通常只有两位数毫秒。

所以最后,除非您要处理非常高的读取吞吐量,否则这真的不应该成为一个大问题。如果你发现它是,你可以随时increase your read and/or write consistency level受影响的数据。

关于cassandra - 将数据读/写到 Cassandra 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30442709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com