elasticsearch面试八股文

文章目录

es的存储和更新机制

Elasticsearch(ES)是一个开源的分布式搜索和分析引擎,其存储架构和更新机制如下:

存储架构:

索引(Index) :ES的数据组织单元是索引,每个索引可以包含多个类型(Types),类似于数据库中的表。索引是由一个或多个分片(Shard)组成的,用于将数据水平分割和分布在集群中的多个节点上。
分片(Shard) :每个索引可以被分为多个分片,每个分片是一个独立的工作单元,包含部分数据。分片允许数据分布在集群的多个节点上,提高了性能和可伸缩性。
副本(Replica) :每个分片可以有零个或多个副本。副本是分片的完全复制,用于提供冗余和故障恢复。副本也可以用于负载均衡查询。

更新机制:

Near Real-Time(NRT) :ES采用了近实时的更新机制,即文档的索引和搜索操作不会立即生效,而是需要经过一小段时间的延迟。默认情况下,ES的刷新间隔是1秒钟,因此写入的数据在1秒后才能被搜索到。这种机制可以提高吞吐量和性能。
索引操作(Indexing) :当需要更新一个文档时,ES会先检查该文档是否已经存在于索引中。如果文档不存在,则会创建新的文档并将其添加到合适的分片上。如果文档已经存在,则会进行更新操作,即先标记旧文档为删除,然后再创建一个新的文档版本。这样做是为了保留历史版本,并支持版本控制和文档回滚。
分布式协调 :当有多个副本时,ES使用Raft一致性算法来协调各个副本之间的写入操作,确保数据的一致性和可靠性。

总结起来,Elasticsearch的存储架构是由索引、分片和副本组成的,利用分布式的方式将数据分散在多个节点上。更新机制采用近实时的方式,通过索引操作和分布式协调来处理文档的更新和写入操作。这使得ES具备高性能、可伸缩和容错能力。


说一下raft算法

Raft是一种分布式一致性算法,用于解决分布式系统中的复制日志问题。它旨在提供容错性和易理解性,并通过选举机制来确保系统的可用性。

以下是Raft一致性算法的基本原理:

领导者选举:在一个Raft集群中,每个节点可能处于三种状态:领导者(leader)、追随者(follower)和候选人(candidate)。初始时,所有节点都是追随者。当追随者未能接收到领导者的心跳消息时,会发起选举变成候选人,并请求其他节点投票支持。如果候选人赢得了大多数节点的选票,就成为新的领导者。

日志复制:领导者负责接收客户端的请求并将其转化为日志条目。每个节点都维护一个日志,其中包含按顺序编号的日志条目。领导者将新的日志条目复制到它的追随者节点上,一旦大多数节点确认接收并复制该日志条目,就认为该操作提交成功。

容错性:Raft通过日志复制和选举机制实现容错性。如果一个领导者失效,集群中的其他节点会进行选举以选择一个新的领导者。只有在大多数节点都正常工作的情况下,才能进行日志条目的提交。

安全性:Raft通过在选举过程中使用随机超时时间和限制选举过程中票数的增长速率来防止选举过程中的活锁(例如,若干个候选人无法取得胜利)。此外,任何一个节点只能接受最新的日志条目,确保了数据的一致性。

总体而言,Raft算法提供了一种可靠的方式来实现分布式系统中的一致性。它通过领导者选举、日志复制和容错机制来确保数据的一致性和集群的可用性。由于其易理解的特点,Raft在分布式系统领域广泛应用,并成为了Paxos算法的有效替代方案。


相关推荐
胡萝卜术4 小时前
从API调用到手写LRU:力扣146「LRU缓存」的哈希表+双向链表终极进化之路
前端·javascript·面试
ffqws_4 小时前
Redis 分布式锁:基于 Redisson 的实现与面试高频问答
redis·分布式·面试
jkyy20145 小时前
深耕AI健康医疗数据智库,赋能企业构建主动健康管理新生态
大数据·人工智能·健康医疗
2601_961946087 小时前
AI API 网关实战:从单 Key 管理到企业级多租户架构
大数据·人工智能·金融·架构·api·个人开发
大大大大晴天9 小时前
Flink CDC 深度解析:从原理到实践的全链路指南
大数据·flink
IT新视界10 小时前
Elasticsearch信创国产化替代
大数据·elasticsearch·搜索引擎
汇策研习社10 小时前
改良版ADX指标实战指南:告别传统ADX滞后、震荡误判难题
大数据·经验分享·金融·区块链·fastbull
SelectDB10 小时前
宽表元数据膨胀怎么解?Doris Segment V3 对比 Parquet、Lance
大数据·数据库·数据分析
QQ骞11 小时前
【ECU-HIL 嵌入式车载软件测试学习路线和面试描述方式(1)】
学习·面试·职场和发展
隔窗听雨眠11 小时前
从追赶者到定义者:中国BI如何借助AI实现弯道超车
大数据·人工智能