【发布时间】:2018-07-16 13:17:33
【问题描述】:
Datastax Cassandra Java 驱动程序是否为 cassandra 连接到下一个可用主机提供回退机制?
例如,如果集群有 4 个 Host 节点,并且客户端应用程序连接到 Host-1。现在,当 Host-1 关闭时,是否可以提供应用程序尝试连接的机制到 Host-2,然后到 Host-3 ... 以此类推!!!
此外,
1) Datastax 驱动程序提供了编写自定义重试策略 RetryPolicy(MyCustomRetryPolicy.RETRY_POLIOCY_INSTANCE); 的工具,但它会在出现错误(ReadTimeout、writeTimeout、RequestError 等)时调用,但此时,当一个节点离开时,这不会被调用。
2) 另一种方法是添加 SpeculativeExecutionPolicy withSpeculativeExecutionPolicy(new ConstantSpeculativeExecutionPolicy(10000,2)),但我不确定这是否能解决问题?
cassandra的Java驱动程序是否提供了任何其他适当的机制或SpeculativeExecutionPolicy是唯一的选择?
【问题讨论】:
标签: java cassandra datastax datastax-java-driver cassandra-3.0