使用nodejs在Cassandra中重试策略

时间:2018-01-11 07:43:33

标签: node.js apache cassandra cassandra-3.0

我终于在nodejs中为Cassandra编写了重试策略,我有一个用例,只要有一个节点副本可用,我需要通过修改我的一致性来允许读写最低水平。

我已经附加了更新的重试代码(retry.js中的DowngradeRetryPolicy),请查看链接并发表评论,

https://gist.github.com/harigist/f74b29976702a84f8f37e1bf7b509e0e

1)我期望使用此重试政策的问题清单?
2)这段代码有什么问题吗?我需要做出改变才能处理角落案件吗?

2 个答案:

答案 0 :(得分:4)

使用降级一致性重试策略会使您的应用程序一致性保证达到最低级别。从理论上讲,这相当于第一次使用较低的一致性水平。

除了您处理应用程序的“正常模式”和“降级模式”的情况外,我个人认为这种策略没有多大用处。

关于代码,对我来说很好看。

答案 1 :(得分:0)

问题...根据docs策略界面包含四种方法:

onReadTimeoutonUnavailableonWriteTimeoutonRequestError

在您的政策中,我只会看到3。如果省略任何内容,会发生什么?是否使用默认逻辑?

此外,我看到您未在代码中使用的另一件事是_childPolicy https://github.com/datastax/nodejs-driver/blob/master/lib/policies/retry.js#L160