2017-12-29 7 views
0

Ich bin mir nicht sicher über die Einstellung der Politik 'DowngradingRetryPolicy' in nodejs mit Cassandra.Wie setze ich die Downgrading-Politik in Cassandra mit nodejs

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

Dies ist, wie ich die IdempotenceAwareRetryPolicy Richtlinie festgelegt und es wie erwartet funktioniert, aber wie die ‚DowngradingRetryPolicy‘ Politik in Kassandra setzen NodeJS

als Referenz mit der Ruby-Implementierung Hinzufügen

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

Danke,

Harry

Antwort

2

In Nodejs gibt es keine Richtlinie zum Zurücksetzen der Konsistenzwiederholung. Das ist eine gute Sache, imho, macht es nicht viel Sinn im Zusammenhang mit C * Konsistenz garantiert. Die Leute können immer eigene Wiederholungsregeln schreiben, um dies zu tun, wenn sie wirklich benötigt werden, aber da sie standardmäßig vorhanden sind, wird ein gefährliches Setup empfohlen, das die Konsistenzerwartungen zu unerwarteten/zufälligen Zeiten verletzen kann.

Wenn Sie jedoch über die Verwendung einer Downgrade-Wiederholungsrichtlinie nachdenken, verwenden Sie einfach CL.ONE und eine normale Richtlinie. Sie müssten davon ausgehen, dass alle Abfragen trotzdem ausgeführt werden, oder Ihre Anwendung wäre nicht sicher. So könnte man auch die Leistungsverbesserungen der reduzierten Konsistenz erreichen.

Wenn es keinen starken Grund dafür gibt, werden Sie am besten gedient, wenn Sie nur die standardmäßige TokenAwarePolicy beibehalten, die DCAwareRoundRobinPolicy umschließt. Nur DCAwareRoundRobinPolicy ist wahrscheinlich am besten für Stabilität.

+0

Ich verstehe völlig die Probleme in Downgrading-Politik, aber gibt es eine Möglichkeit, damit umzugehen: https://StackOverflow.com/Questions/48056093/High-Availability-in-Cassandra – Harry

+0

Lassen Sie uns sagen, ich habe zwei Knoten, in denen man Knoten ging nach unten. Ich habe die RF = 2, jetzt muss ich die Konsistenzstufe auf 1 ändern, also gibt es ein Beispiel in Nodejs für Wiederholungsrichtlinien, die ich ausprobieren kann? – Harry

+0

Da muss ich im Falle eines Ausfalls eine einzige Knotenunterstützung haben. – Harry

Verwandte Themen