2017-12-29 49 views
0

Cassandraを使用してnodejsで 'DowngradingRetryPolicy'ポリシーを設定することについてよくわかりません。私はIdempotenceAwareRetryPolicyポリシーを設定する方法 Cassandraでnodejsを使用してダウングレードポリシーを設定する方法

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

これ

であり、それが期待通りに機能していますが、nodejsルビーの実装を追加する参考のため

を使用してカサンドラの「DowngradingRetryPolicy」ポリシーを設定する方法

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

おかげで、

ハリー

答えて

2

ノードjにダウングレード一貫性再試行ポリシーはありません。これは良いことですが、C *の一貫性の保証に関してはあまり意味がありません。人々はいつも本当に必要な場合は自分の再試行ポリシーを書くことができますが、デフォルトでは予期しない/ランダムな時間に一貫性の期待に反する可能性のある危険な設定を推奨します。

ただし、リトライポリシーのダウングレードを検討している場合は、CL.ONEと通常のポリシーを使用してください。とにかくすべてのクエリが実行されるか、アプリケーションが安全ではないと想定する必要があります。したがって、整合性の低いレベルのパフォーマンスが向上する可能性もあります。

強力な理由がない限り、DCAwareRoundRobinPolicyをラップするデフォルトのTokenAwarePolicyを貼っておくのが最もよいでしょう。おそらくDCAwareRoundRobinPolicyは安定性のために最適です。

+0

ダウングレードポリシーの問題を完全に理解していますが、これを処理する方法はありますか:https://stackoverflow.com/questions/48056093/high-availability-in-cassandra – Harry

+0

私は2つのノードを持っていますノードがダウンしました。私はRF = 2を持っているので、一貫性レベルを1に変更する必要があります。したがって、試してみることができる再試行ポリシーのnodejsの例はありますか? – Harry

+0

障害が発生した場合には、単一のノードをサポートする必要があります。 – Harry

関連する問題