使用CQL3,Cassandra一致性级别现在设置在会话级别。本机Java客户端的Datastax文档指出:
会话实例是线程安全的,通常每个应用程序只需要一个实例
但是我很难看出单个会话实例如何处理多个一致性级别(例如,使用仲裁进行写入和使用 ONE 进行读取)。我看到到处都是潜在的竞争条件。
一个明显的解决方案是为读取和写入创建单独的会话,每个会话都设置了适当的一致性级别。但这并不能完全解决问题。如果一个类修改了两个会话之一的一致性级别,该怎么办?然后,会话实例的所有后续用户将在不知不觉中使用新的 CL。
因此,据我所知,最安全的选择是每次需要访问Cassandra时创建一个新的会话实例,并在创建时显式设置CL。
我不清楚的是,这种方法是否会导致性能损失。例如,可以是<code>会话=集群。connect()或会话。执行(“一致性[cl]”
是否涉及到服务器?
我在这里错过了什么吗?有没有人有任何相关的经验可以分享?谢谢。
更新:我看到com.datastax.driver.core.Query
有一个设置一致性级别的方法。所以也许最简单的选择是坚持使用单个会话实例并为每个查询设置CL。
因此,最简单的选择可能是坚持使用单个会话实例,并为每个查询设置CL。
这不仅是最简单的选择,而且是选择。
在驱动程序的版本 1.0.2 中,无法在每个查询的其他任何位置设置一致性级别。没有每届会议 CL。从 Java 驱动程序的 2.0 版开始,可以通过“资源管理器”方法
为群集设置全局缺省一致性级别。
不过,对于值得一提的是,我个人的观点是,CL是每个查询的重要参数。因此,即使为了文档起见,即使为了文档起见,为每个查询设置它也不会疯狂(即说“我确实有关于此查询的相关CL,它是ONE”)。
我正在尝试将我的弹性搜索(6.6.1)、spring boot(2.1.3)应用程序从Java8迁移到Java11。之前,我使用高级java rest客户端创建和搜索索引。因为存在一个问题(https://github.com/elastic/elasticsearch/issues/38299)在模块化高级rest客户端api时,我试图使用低级rest客户端,但无法获得任何搜索结果。 请看一些代
我已经阅读了所有关于日期操纵的问答,但似乎没有一个能给我一个满意的答案。 我有一个具有不同地域用户的项目,它在一些类和数据中使用。事情是,我正在寻找一种有效的方法来操作日期为不同的用户在他们各自的时区,大多数的答案建议使用Joda库的操作,这是很不理解,因为我仍然没有找到任何操作您不能做的传统Java,所以如果有人可以解释我可以做什么Joda不能做的传统Java,那么我可能会考虑使用它。 我最终找
问题内容: 我有第三方WSDL,我需要用Java编写代码以使Web服务客户端调用第三方WSDL中的操作。现在,我已经使用Axis的WSDL2JAVA工具生成了客户端存根,并使用XMLbeans进行了数据绑定。 进行此JAVA的最佳方法是什么? 我阅读了有关SAAJ的文章,看起来这种方法会更细化吗? 除了使用WSDL2Java工具之外,还有什么其他方法可以生成代码。也许wsimport还有其他选择。
在ElasticSearch文档中,它指定在索引时可以设置一致性级别。 https://www.elastic.co/guide/en/elasticsearch/client/net-api/1.x/bulk.html 然而,在NEST客户端的最新版本中,这一点已被删除(破坏性更改)。 有没有一种新的方法可以做到这一点,因为文档中似乎没有任何关于创建索引或索引数据的内容。这些文档只包含查询和聚合
问题内容: 在Golang中,我们可以将GitHub上的开源库指定为依赖项。例如: 如果我理解正确,这将尝试根据您的Go版本查找分支,默认为master。 因此,无法导入依赖的特定版本,例如: 那么,在Go中管理依赖项的最佳实践是什么? 我可以看到两种方法。 I.版本模块 是否为具有重大变更的主要版本创建新模块? 例如,我的Go库可以定义模块v1和v2,因此您可以执行以下操作: 要么: 根据您的需
我试图在我Java的web应用程序中实例化一个对象,该应用程序使用QUUKUS作为其应用程序框架。我过去在已经部署到Wildfly的应用程序上成功地做到了这一点,但是它并没有像预期的那样转换到QUARKUS。我的实例化对象的工厂类如下所示: 但是,当我尝试调用factory方法时,最终出现以下异常: 我的假设是,这与RestEasy版本不匹配或其他依赖关系问题有关。然而,我不知道如何解决这个问题。