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

wordpress原创保护论坛seo网站

wordpress原创保护,论坛seo网站,高端网站建设成都,电影网站logo设计一、ElasticSearch 写数据的总体流程: (1)ES 客户端选择一个节点 node 发送请求过去,这个节点就是协调节点 coordinating node (2)协调节点对 document 进行路由,通过 hash 算法计算出数据应该…

一、ElasticSearch 写数据的总体流程:

在这里插入图片描述

(1)ES 客户端选择一个节点 node 发送请求过去,这个节点就是协调节点 coordinating node

(2)协调节点对 document 进行路由,通过 hash 算法计算出数据应该落在哪个分片 shard 上,然后根据节点上维护的 shard 信息,将请求转发到对应的实际处理节点node上

shard = hash(document_id) % (num_of_primary_shards),

(3)实际的节点上的 primary shard 主分片处理请求,然后将数据同步到副本节点 replica node

(4)coordinating node 等到 primary node 和所有 replica node 都执行成功之后,就返回响应结果给客户端。

二、ES 的主分片写数据的详细流程:

在这里插入图片描述

1、refresh 操作:
primary shard 主分片先将数据写入 memory buffer,然后定时(默认每隔1s)将 memory buffer 中的数据写入一个新的 segment 文件中,并进入 Filesystem cache(同时清空 memory buffer),这个过程就叫做 refresh;每个 Segment 文件实际上是一些倒排索引的集合, 只有经历了 refresh 操作之后,这些数据才能变成可检索的。

ES 的近实时性:当数据存在 memory buffer 时是搜索不到的,只有数据被 refresh 到 Filesystem cache 之后才能被搜索到,而 refresh 是每秒一次, 所以称 es 是近实时的,或者可以通过手动调用 es 的 api 触发一次 refresh 操作,让数据马上可以被搜索到;

     上文讲到的 memory buffer,也称为 Indexing Buffer,这个区域默认的内存大小是 10% heap size。

2、写 translog 事务日志文件:
由于 memory Buffer 和 Filesystem Cache 都是基于内存,假设服务器宕机,那么数据就会丢失,所以 ES 通过 translog 日志文件来保证数据的可靠性,在数据写入 memory buffer 的同时,将数据写入 translog 日志文件中,在机器宕机重启时,es 会从磁盘中读取 translog 日志文件中最后一个提交点 commit point 之后的数据,恢复到 memory buffer 和 Filesystem cache 中去。

ES 数据丢失的问题:translog 也是先写入 Filesystem cache,然后默认每隔 5 秒刷一次到磁盘中,所以默认情况下,可能有 5 秒的数据会仅仅停留在 memory buffer 或者 translog 文件的 Filesystem cache中,而不在磁盘上,如果此时机器宕机,会丢失 5 秒钟的数据。也可以将 translog 设置成每次写操作必须是直接 fsync 到磁盘,但是性能会差很多。

3、flush 操作:
不断重复上面的步骤,translog 会变得越来越大,当 translog 文件默认每30分钟或者阈值超过 512M 时,就会触发 flush 操作,将 memory buffer 中所有的数据写入新的 Segment 文件中, 并将内存中所有的 Segment 文件全部落盘,最后清空 translog 事务日志。

(1)将 memory buffer 中的数据 refresh 到 Filesystem Cache 中的一个新的 segment 文件中去,然后清空 memory buffer;
(2)创建一个新的 commit point(提交点),同时强行将 Filesystem Cache 中目前所有的数据都 fsync 到磁盘文件中;
(3)删除旧的 translog 日志文件并创建一个新的 translog 日志文件,此时 flush 操作完成
ES 的 flush 操作主要通过以下几个参数控制:

index.translog.flush_threshold_period:每隔多长时间执行一次flush,默认30m
index.translog.flush_threshold_size:当事务日志大小到达此预设值,则执行flush,默认512mb
index.translog.flush_threshold_ops:当事务日志累积到多少条数据后flush一次。
————————————————
版权声明:本文为CSDN博主「张维鹏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a745233700/article/details/118076845

http://www.khdw.cn/news/29530.html

相关文章:

  • 做淘宝客网站能赚到钱吗今日国际新闻最新消息事件
  • 网站维护包含哪些内容简述网络营销的概念
  • 网站搭建h5是什么长春网站建设开发
  • 广西南宁网站建设网站管理和维护的主要工作有哪些
  • 4线城市搞网站开发seo咨询服务
  • 福州网站建设吧营销网络
  • 吴忠北京网站建设全国疫情突然又严重了
  • 源美网站建设什么软件引流客源最快
  • 珠海网站建设小程序网络培训心得体会总结
  • 做美食视频网站有哪些百度公司招聘官网
  • 鞍山政府网站社交网络的推广方法
  • 网站建设方案书企业网站建设模板
  • 如何做网站给女朋友佛山网站建设正规公司
  • 百度网站关键词优化在哪里做seo优化诊断
  • 数据库跟网站网店推广实训系统
  • 衡水网站设计怎么做搜索引擎营销的概念及特点
  • 桂林网站建设费用网站排名提升软件
  • ps做的网站首页网站批量查询工具
  • 做网站厦门如何联系百度平台客服
  • 2018数字政府建设论坛网站阿里云免费建站
  • 马洪旭 做的网站大学北京网站优化页面
  • 太原网站建设pnjfw长春网站建设设计
  • 免费搭建网站黄页引流推广
  • 做环球资源网站有没有效果google seo 优化招聘
  • 申报湖南创新型省份建设专项网站百度做广告怎么做
  • 网站制作是怎么做的互联网平台有哪些
  • html模板 网站网页友情链接
  • 视频做动图的网站知名网站排名
  • 软件网站开发市场前景百度论坛首页官网
  • 永久免费建个人网站如何编写一个网站