ES分布式架构的原理

55 篇文章 2 订阅
面试题

ES分布式架构的原理可以讲一下吗(es是如何实现分布式的)?

分析

现在的分布式搜索已经成为一些互联网行业java系统的标配了,其中尤其流行es,前几年es没火的时候大部分人用solr。但是这几年大部分项目和企业都开始转向了es。

所以互联网面试如何问起来分布式搜索引擎的话,ES是不可能绕过的一座大山。第一个相关的问题大概率都会问你es的分布式架构设计,看看你对分布式搜索引擎基本原理的了解程度。

回答

es,全称elasticsearch的设计理念就是分布式搜索引擎,底层原理其实还是基于lucene的。

核心思想就是在多台机器上启动多个es进程实例,组成一个集群。es存储数据的基本单位就是索引, 接着建立一个索引,这个索引可以拆分成多个shard分片节点,每个shard存储部分数据。

然后重点来了,每个shard都要一个primary shard负责写入数据,还有一个或着多个replica shard作为数据的副本,primary shard会不停的把数据同步给replica shard。而且,replica shard是不会和primary shard在同一台机器上的,所以就不怕某一台宕机。并且这些机器中,es会选举出一个master主机,用来做数据管理,或者负责切换primary shard和replica shard的身份之类的工作。如图:
在这里插入图片描述
如果master宕机,那么会自动再选举出一个新的master,并且会检测到primary shard 02不在了,所以会将进程03中的replica shard变为primary shard,保证程序的正常。

还有一点比较重要,就是写数据的时候客户端是往primary shard中写数据,读数据的时候primary shard和replica shard都是可以读取数据的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木小同

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值