当前位置: 首页 > news >正文

Elasticsearch的批量bulk 提交 写入的方式会有顺序问题吗?

Elasticsearch的分布式特性可能会导致写入操作的执行顺序与提交顺序稍有不同。在分布式环境中,Elasticsearch将数据分散到不同的节点上进行存储和处理,因此写入操作的执行顺序可能会受到网络延迟、负载均衡等因素的影响。

根源在于ES的分布式架构。如上图所示,客户端的命令首先是请求到coordinating node(协调节点),然后协调节点根据命令提供的的路由字段(没有的话默认使用文档id),经过路由算法,找到对应的主shard(分片)。所以真正执行的节点就是shard所在的节点,而每条命令发送到节点上到底哪个先执行是没有保障的,取决于很多因素。比如发送到节点的时间,节点本身的空闲资源情况等。

不过从上面这段解释,我们也可以得出另外一个结论,就是对于同一个文档的操作是有序的。了解这点在一些业务场景下很重要。

虽然处理的顺序不能保证,但是ES会保证响应结果和提交的顺序是一致的。

么是bulk操作

bulk是批量的意思,也就是把原来单个的操作打包好,通过批量的api提交到ES集群。下面是个示例:

单个操作:

PUT my-index/_doc/1
{
"field1": "value1"
}

bulk操作:

POST _bulk
{ "index" : { "_in

相关文章:

  • 设计模式(三)-结构型模式(3)-装饰模式
  • 2023.12.20力扣每日一题
  • 苏宁易购商品详情API:电商实时数据
  • Linux开发工具——vim篇
  • Ubuntu系统的基础操作和使用
  • 华大基因基因检测产品PMseq®,助力应对微生物耐药带来的挑战
  • 计算机基础:网络基础
  • 基于CTF探讨Web漏洞的利用与防范
  • uni-app学习记录
  • 汇编语言学习(5)
  • leetcode 974. 和可被 K 整除的子数组(优质解法)
  • 【ECharts】折线图
  • 新项目介绍!Solana顶级借贷协议Solend宣布扩展至Sui上
  • 常见的电子签章问题契约锁帮您解答
  • 《程序员的自我修养:链接、装载与库》读书笔记:静态链接、动态链接
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【5+】跨webview多页面 触发事件(二)
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 10个最佳ES6特性 ES7与ES8的特性
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • AngularJS指令开发(1)——参数详解
  • Django 博客开发教程 8 - 博客文章详情页
  • Git学习与使用心得(1)—— 初始化
  • javascript数组去重/查找/插入/删除
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java教程_软件开发基础
  • Mac转Windows的拯救指南
  • MySQL QA
  • Promise面试题,控制异步流程
  • scala基础语法(二)
  • vue自定义指令实现v-tap插件
  • 从零开始在ubuntu上搭建node开发环境
  • 力扣(LeetCode)357
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 思维导图—你不知道的JavaScript中卷
  • 想写好前端,先练好内功
  • 1.Ext JS 建立web开发工程
  • 2017年360最后一道编程题
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #Lua:Lua调用C++生成的DLL库
  • ( 10 )MySQL中的外键
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)shell调试方法
  • .gitignore
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 动态调用WebService + WSE + UsernameToken
  • .net6使用Sejil可视化日志
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • [ SNOI 2013 ] Quare