cassandra 是否可以对远程数据中心执行立即推测重试?

jmp7cifd  于 12个月前  发布在  Cassandra
关注(0)|答案(1)|浏览(89)

我的cassandra集群托管在两个数据中心上。它们不仅被一些延迟分开,有时它们中的任何一个都可能暂时不可用。
EACH_QUORUM不是一个选项,因为它既太慢又不够可用。LOCAL_QUORUM是一个选项,也是我目前正在做的,但它不允许本地数据中心不可用。
是否可以将java驱动程序配置为对远程集群执行立即推测重试?
据我所知,这将发送请求到两个数据中心,只要其中任何一个返回(通常是本地的);司机会回来的。
也许我还必须将其与允许LOCAL或REMOTE数据中心暂时不可用的RetryPolicy或LoadBalancingPolicy相结合。

bkhjykvo

bkhjykvo1#

从理论上讲,它不会工作,因为相同的查询计划用于请求/查询的生命周期。
如果您还记得,驱动程序会生成一个查询计划,其中优先选择本地DC中的所有活动主机,最后添加远程节点。在具有2个DC和3个节点/DC的集群中,查询计划中的前3个主机将始终是本地DC中的3个节点,因此远程节点将不会尝试推测执行。
在任何情况下,听起来你都在寻找一个软件解决方案来解决基础设施问题,而这不是一个可行的解决方案。最好的情况下,这将是一个不可预测的解决方案。
你真的需要解决潜在的问题。干杯!

相关问题