Comment définir la stratégie de rétrogradation dans Cassandra en utilisant nodejs

Je ne suis pas sûr de définir la stratégie ‘DowngradingRetryPolicy’ dans nodejs en utilisant Cassandra.

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

Voici comment je définis la stratégie IdempotenceAwareRetryPolicy et que cela fonctionne comme prévu, mais comment définir la stratégie ‘ DowngradingRetryPolicy ‘ dans Cassandra à l’aide de nodejs

Pour référence append la mise en œuvre de ruby,

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

Merci,

Harry

Il n’y a pas de stratégie de réessai de cohérence à la baisse dans nodejs. C’est une bonne chose à mon avis, cela n’a pas beaucoup de sens dans le contexte des garanties de cohérence C *. Les gens peuvent toujours écrire leur propre politique de réessai pour le faire si besoin est, mais être là par défaut encourage une configuration dangereuse qui peut violer les attentes de cohérence à des moments inattendus / aléatoires.

Toutefois, si vous envisagez d’utiliser une stratégie de nouvelle tentative de rétrogradation, utilisez simplement CL.ONE et une stratégie normale. Vous devez supposer que toutes les requêtes s’exécuteront de toute façon ou que votre application ne sera pas sûre. Ainsi, on pourrait aussi améliorer les performances du niveau de cohérence réduit.

À moins qu’il n’y ait une raison valable à cela, vous serez mieux servi en conservant l’enveloppe par défaut de TokenAwarePolicy, DCAwareRoundRobinPolicy. Juste DCAwareRoundRobinPolicy probablement mieux pour la stabilité.