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

时间:2017-12-29 06:17:23

标签: node.js apache cassandra cassandra-3.0

我不确定使用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/

谢谢,

哈利

1 个答案:

答案 0 :(得分:3)

nodejs中没有降级一致性重试策略。这是一件好事,它在C *一致性保证的背景下没有多大意义。如果确实需要,人们总是可以编写自己的重试策略来执行此操作,但是默认情况下会在那里鼓励危险的设置,这可能会在意外/随机时间违反一致性预期。

但是,如果您正在考虑使用降级重试策略,请使用CL.ONE和正常策略。您必须假设所有查询都将在此处执行,否则您的应用程序将不安全。因此,不妨降低一致性级别的性能改进。

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