ElasticSerach学习(四)-架构设计理解

简介: ElasticSerach学习(四)-架构设计理解

es文档落盘

当写入数据时主要分为以下几步:

  1. 先写入lucene的index文件,es为全文检索做了优化,分段索引文件
  2. 将分段文件写入内存
  3. 记录写入日志,类似数据库的binlog,保证数据的安全
  4. 从内存写入操作系统文件缓冲区,写入缓冲区之后就可以进行查询了
  5. 从缓冲区进行落盘,写入磁盘


因为刷盘操作比较消耗io,所以刷盘操作一般可以间隔时间长一点(30min),但是refresh就要比较快,要达到类似实时的效果(1s)


es读取数据架构

读取数据:

  1. 客户端发送请求到协调节点
  2. 协调节点查询存在数据的所有分片和副本分片
  3. 采用轮询策略查询数据
  4. 返回客户端


es写入数据架构

与读取数据结构类似

  1. 客户端发送请求到协调节点
  2. 协调节点将存储的数据转换到对应的节点
  1. 这里的转换是根据公式计算数据应该存在哪个分片上===== hash(id)%主分片的数量 = 分片的位置
  2. 这也是为什么分片数不能修改的原因,分片数一旦改变,则数据位置就变化了
  1. 对应的主分片写入数据
  2. 副本写入数据
  3. 主分片反馈客户端
目录
相关文章
|
3月前
|
存储 关系型数据库 数据库
个人学习ack-eci架构
针对无状态应用进行容器化改造,同时有应对高峰业务以及定时、批量计算任务对容器集群节点计算资源有高弹性低成本优化的需求的用户,利用云上资源的灵活性和规模化优势,构建云上高弹性、稳定、成本优化的服务。
34 0
|
6月前
|
设计模式 架构师 Java
阿里P8架构师都要学习研究的java加强版23种设计模式神级PDF文档
说在前面的话 Java作为老牌纯正的编程语言,在规范性上有着天然优势。因此本版的设计模式讲解全部用Java语言来描述,并针对Java语言的特性对讲解内容做了相当大的改动。 不知道大家是否听过编程界的一段话:掌握设计模式相当于华山派的"气宗",是程序员的内功修为,虽然在同样的学习时间下,类似Python这种"剑宗"的开发模式见效更快,但是长远来看,"气宗"才是走向软件架构师以上级别的必由之路。 所以,掌握气宗就掌握了编程命脉,然而学习设计模式有四大境界: 接下来给大家分享的就是java溢彩加强版大话设计模式包含的内容知识点。 总目录 主要内容 本文是百万销量的经典畅销书《
125 0
|
4月前
|
存储 弹性计算 安全
云计算——ACA学习 云计算架构
云计算——ACA学习 云计算架构
184 0
|
4月前
|
架构师 算法 Java
阿里年薪百万的P7架构师简历都长什么样?他们都是怎么学习的?
我有一个朋友最近想从一个中型企业跳槽到大厂,目标瞄准了美团、滴滴、字节跳动等大厂,但投了简历,都石沉大海了!
|
1月前
|
消息中间件 缓存 Java
SpringBoot的架构学习之路
SpringBoot的架构学习之路
|
2月前
|
网络协议 Java 容器
学习阿里云架构设计知识
学习阿里云架构设计知识
196 0
|
2月前
|
Java 调度 开发工具
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
183 0
|
2月前
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
94 0
|
3月前
|
人工智能 前端开发 JavaScript
【利用AI让知识体系化】前端开发学习&了解业务架构(二)
【利用AI让知识体系化】前端开发学习&了解业务架构