微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果在Apache Cassandra中,数据中心和机架没有直接与物理机架或数据中心相关联,那么如何处理容错能力?

如何解决如果在Apache Cassandra中,数据中心和机架没有直接与物理机架或数据中心相关联,那么如何处理容错能力?

我正在浏览此处提供的文档:https://www.datastax.com/blog/2019/03/distributed-database-things-know-cassandra-datacenter-racks。它说机架和数据中心是一种抽象,而不是硬映射到物理对象。我也遇到了这个问题:

Cassandra机架是在 环。 Cassandra使用机架,以便可以确保副本 分布在不同的逻辑分组之间。结果,操作 不仅发送到一个节点,还发送到多个节点,每个节点都位于单独的位置 机架,提供更大的容错能力和可用性。

我的问题是,如果没有将它们复制到不同的物理节点/机架上,那么如果一台计算机出现故障,那么不是所有逻辑“机架”,“数据中心”也将不可用吗?我可能会缺少很多有关此方面的信息,但是再说一遍,经过大量搜索后,我没有得到足够清晰的画面。

解决方法

您绝对正确。 Cassandra允许您指定逻辑数据中心和机架,这些应该对应于它们的 physical 对应物。

但是没有什么强迫您执行此操作。您绝对可以选择在一个物理数据中心内创建多个逻辑数据中心。您可以使用单独的逻辑机架定义每个节点,这些逻辑机架很可能会被放在一起。进一步加剧的是,所有节点都可以在同一虚拟机监控程序主机上进行实例化。

在这种情况下,如果整个DC,机架或单个主机出现故障,则群集将完全不可用。

出于明显的原因,我建议不要这样做。在云环境(内部或外部)中部署时,请确保我尽可能了解物理层。这样,我便能够构建逻辑数据中心抽象,从而避免物理上的单点故障。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。