如何使用nodejs在Cassandra中设置降级策略

How to set the downgrading policy in Cassandra using nodejs

我不确定如何使用 Cassandra 在 nodejs 中设置策略 'DowngradingRetryPolicy'。

policies : { loadBalancing : new cassandra.policies.loadBalancing.RoundRobinPolicy,
                                                   retry: new cassandra.policies.retry.IdempotenceAwareRetryPolicy(new cassandra.policies.retry.RetryPolicy())
                                                 } });

这就是我设置 IdempotenceAwareRetryPolicy 政策的方式,它按预期工作,但是如何使用 nodejs

在 Cassandra 中设置“DowngradingRetryPolicy”政策

为了参考添加 ruby 实现,

https://datastax.github.io/ruby-driver/features/retry_policies/downgrading_consistency/

nodejs没有降级一致性重试策略。恕我直言,这是一件好事,在 C* 一致性保证的上下文中没有多大意义。如果确实需要,人们总是可以编写自己的重试策略来执行此操作,但默认情况下会鼓励危险的设置,该设置可能会在 unexpected/random 次违反一致性预期。

但是,如果您正在考虑使用降级重试策略,只需使用 CL.ONE 和正常策略即可。您将不得不假设所有查询都将在此执行,否则您的应用程序将不安全。所以不妨得到降低一致性级别的性能提升。

除非有充分的理由,否则最好坚持使用默认的 TokenAwarePolicy 包装 DCAwareRoundRobinPolicy。只有 DCAwareRoundRobinPolicy 可能最适合稳定性。