当前位置: 首页 > 面试题库 >

在并发情况下,Elasticsearch 如果保证读写一致?

谷玉韵
2023-03-14
本文向大家介绍在并发情况下,Elasticsearch 如果保证读写一致?相关面试题,主要包含被问及在并发情况下,Elasticsearch 如果保证读写一致?时的应答技巧和注意事项,需要的朋友参考一下

 

1、可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖,由应用层来处理具体的冲突;

 

2、另外对于写操作,一致性级别支持 quorum/one/all,默认为 quorum,即只有当大多数分片可用时才允许写操作。但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本被认为故障,分片将会在一个不同的节点上重建。

 

3、对于读操作,可以设置 replication 为 sync(默认),这使得操作在主分片和副本分片都完成后才会返回;如果设置 replication 为 async 时,也可以通过设置搜索请求参数_preference 为 primary 来查询主分片,确保文档是最新版本。

 

 类似资料:
  • 我只想知道,如果读取器和写入器线程访问ConcurrentHashMap的同一段,会发生什么情况。 情况1:读取器线程首先读取值时。 情况2:写入线程更新值,读取线程获取值。

  • 问题内容: 这可能不是现实情况,只是好奇地知道会发生什么,下面是代码。 我正在创建一组class对象。根据Java中的哈希概念,当我第一次添加包含“ a”的对象时,它将创建带有哈希码97的存储桶并将该对象放入其中。同样,当它遇到带有“ a”的对象时,它将在类UsingSet中调用覆盖的哈希码方法,并将获得哈希码97,那么下一步是什么? 由于我尚未重写equals方法,因此默认实现将返回false。

  • 问题内容: 我试图在 POSTGRES中 编写一个复杂的查询,这个问题是该子查询。 这是我的表(id是主键和自动递增): 在此表中,我想获取id为“ xyz”且appid = 2的id,如果不存在,则插入并返回ID。 我知道有几个类似的问题,有些问的有些相同,我已经尝试过了,但似乎没有用。 这是我试图起诉的,但未能按预期进行: 当添加新元素并返回新添加元素的ID时,此方法效果很好,但当行已存在时不

  • 我正在基于Tomcat servlet和NIO创建服务。输入时有大的XML请求(约100 MB),通过HTML POST方法发送。我只想流前8千磅,然后立即发送响应到客户端。 当我尝试发送小请求(内容中只有几行)时,套接字工作正常。 2016-02-01 10:44:52 Http11NioProtocol[DEBUG]套接字:[org.apache.tomcat.util.net.NioEndp

  • 我正在建立一个应用程序,用户将把他们的测试和作业和任何东西。我想知道我的应用程序是否有可能在测试前一周和一天发出通知? 我看到的到处都是firebase通知和push通知。 我不想要这些在线通知,我将需要应用程序发送他们自己离线。这可能吗?

  • 问题内容: 我正在使用Mockito编写我的测试用例。我有一个简单的类,其中包含我要测试的功能: 在单元测试中,我要测试功能: 在我的测试案例中,如何使用Mockito进行检查/验证? 问题答案: 您将不得不使用间谍。这里的问题是您要验证是否在 真实 对象而非模拟对象上调用了方法。您不能在此处使用模拟,因为它将对类中的所有方法进行存根,因此缺省情况下也对存根不执行任何操作。 但是,请注意,使用间谍