在多区域设置中,cassandra如何应对区域故障

qltillow  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(421)

我试图了解Cassandra在多地区设置。假设我在3个aws区域(a、b和c)中设置了一个cassandra集群,如果一个区域出现故障(区域c)。整个地区的中断如何影响cassandra查询。
如果我的读写配置为cl=local\u quorum,那么中断是否会影响区域a和b中的事务。
如果读写在cl=each\ u quorum,那么区域a和b中的读/写是否会失败。
如果c区正在进行计划性维护呢?

2vuwiymt

2vuwiymt1#

我建议您查看dse架构指南,该指南涵盖了cassandra的工作原理。您需要记住几件事,例如,所有写操作都被发送到所有DC中的所有副本,与一致性级别无关;当节点短时间停机(默认情况下小于3小时)时,其他节点将收集所谓的提示,在节点返回时重放更改。
中断的影响将取决于您使用的一致性级别,因此回答您的问题:
不,这不应该影响dcs a&b,除非你 read_repair_chance 或者 dclocal_repair_chance 设置为非零-在以后的情况下,您可能会点击cassandra-9753,这可能导致向远程dcs发送请求;
是的,读写将失败 EACH_QUORUM . 但你可以用 QUORUM 有3个dcs(当然取决于每个dc的射频),允许一个完全下降;
如果你关闭整个区域,这和失败是一样的,但是如果你一个接一个地关闭机器,那么它可能会工作。

相关问题